আপনার উবুন্টু মেশিনটি a2dp ব্লুটুথ ডিভাইস হিসাবে ব্যবহার করতে, আপনাকে প্রথমে এটি "এ 2 ডিপি সিঙ্ক" এন্ডপয়েন্ট হিসাবে নিবন্ধিত করতে কনফিগার করতে হবে।
Bluez উবুন্টুতে প্যাকেজ (10.04 এবং পরবর্তী) একটি ইউটিলিটি নামক অন্তর্ভুক্ত sdptool যে চেক করতে একটি Bluetooth ডিভাইস বা কোনো A2DP বেসিনে হিসাবে কনফিগার করা আছে কিনা ব্যবহার করা যাবে। আমার ব্লুটুথ হেডসেটের বিপরীতে sdptool রান থেকে প্রাপ্ত আউটপুট এখানে রয়েছে (জিনোম-নিয়ন্ত্রণ কেন্দ্রের "ঠিকানাটি" ব্লুটুথ সেটিংস "ডায়ালগটি গ্রহণ করছে):
$ sdptool search --bdaddr 00:18:16:3A:3B:D4 a2snk
Searching for a2snk on 00:18:16:3A:3B:D4 ...
Service RecHandle: 0x10002
Service Class ID List:
"Audio Sink" (0x110b)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x102
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0102
$
এবং আমার স্থানীয় উবুন্টু মেশিনের বিরুদ্ধে চালানো হলে এখানে ফলাফল আউটপুট হয়:
$ sdptool search --bdaddr local a2snk
Searching for a2snk on FF:FF:FF:00:00:00 ...
$
এটি দেখায় যে উবুন্টু মেশিন নিজেকে একটি 2 ডিপি সিঙ্ক হিসাবে বিজ্ঞাপন দিচ্ছে না। এটি নিজেকে এডিডিপি উত্স হিসাবে বিজ্ঞাপন দিচ্ছে:
$ sdptool search --bdaddr local a2src
Searching for a2src on FF:FF:FF:00:00:00 ...
Service Name: Audio Source
Service RecHandle: 0x10003
Service Class ID List:
"Audio Source" (0x110a)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x102
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0102
এটি উবুন্টু মেশিনকে অডিও উত্স হিসাবে হেডসেটের সাথে সঠিকভাবে যুক্ত করতে সক্ষম করে, তবে এটি ব্লুটুথ অডিওর জন্য উবুন্টু মেশিনটিকে আউটপুট (সিঙ্ক) হিসাবে ব্যবহার করতে সক্ষম করে না।
আপনি যদি সম্পাদনা করেন /etc/bluetooth/audio.conf
তবে [General]
বিভাগের নীচে এই লাইনটি যুক্ত করে আপনি a2dp সিঙ্ক সমর্থন সক্ষম করতে পারেন :
Enable=Source
এটি উভয়ই পাল্টা নামকরণ করা হয়েছে - যেহেতু আমরা এখানে যা যুক্ত করছি তা হ'ল ব্লুটুথ সিঙ্ক সমর্থন, উত্স সমর্থন নয় - এবং এই ফাইলটিতে করা মন্তব্যের সাথে বিরোধিতায় দাবি করা হয়েছে যে সমস্ত প্রয়োগকৃত পরিষেবাগুলি ডিফল্টরূপে সক্ষম করা হয়েছে claims :(
এই পরিবর্তনটি করার পরে, আপনাকে চালিয়ে ব্লুটুথড পুনরায় চালু করতে হবে sudo service bluetooth restart
।
এই কাজটি পাওয়ার চেষ্টা করার আগে আপনি যদি আপনার অ্যান্ড্রয়েড ডিভাইস এবং উবুন্টু কম্পিউটারটি জোড় করে রেখেছেন তবে উবুন্টুকে উপলব্ধ অডিও ডিভাইস হিসাবে স্বীকৃতি পেতে অ্যান্ড্রয়েডকে পেতে আপনার উভয় পক্ষের জুটি মুছতে হবে এবং তাদের পুনরায় যুক্ত করতে হবে।
একবার এটি হয়ে গেলে, অ্যান্ড্রয়েড ডিভাইসটি পালস অডিওর অধীনে একটি ইনপুট ডিভাইস হিসাবে প্রদর্শিত হবে। যদি পালস অডিও নতুন ব্লুটুথ অডিও উত্সটি সনাক্ত না করে, আপনার কমান্ড লাইন থেকে ব্লুটুথ মডিউলটি ইনস্টল ও লোড করতে হতে পারে:
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
তারপরে আপনাকে লুপব্যাক সংযোগ (কোনও উত্স থেকে ডুবে যাওয়ার জন্য একটি সরল রেখা) ব্যবহার করে এই আডিও ইনপুটটিকে আপনার আউটপুট / সিঙ্কে (যেমন আপনার স্পিকার বা একটি ব্লুটুথ হেডসেটে) রুট করতে আপনাকে পালস অডিওকে বলতে হবে।
পালস অডিওর পরবর্তী সংস্করণগুলিতে মডিউল-ব্লুটুথ-নীতি অন্তর্ভুক্ত থাকতে পারে এবং এটি ইতিমধ্যে আপনার জন্য একটি লুপব্যাক ডিভাইস সেট আপ করতে পারে তবে এটি সবচেয়ে সাধারণ ঘটনা বলে মনে হয় না।
লুপব্যাক সংযোগ স্থাপনের একটি আধা-স্বয়ংক্রিয় উপায় - আপনার যদি প্যাভুকন্ট্রোল জিইআইআই ইনস্টল করা থাকে - কেবল লুপব্যাক মডিউলটি লোড করুন এবং এটি প্যাভুকন্ট্রোল ব্যবহার করে এটি কনফিগার করা হবে, যেহেতু পালস অডিওটি সেটিংসটি মনে রাখবে। প্যাক্টল ব্যবহার করে মডিউল লোড করা কমান্ড থেকে করা হয়:
pactl load-module module-loopback
আপনি এখনও কিছু না শুনলে ভয় পাবেন না বা আপনি যদি অদ্ভুত প্রতিক্রিয়ার প্রভাব পেয়ে থাকেন তবে আমাদের নতুন তৈরি ডিভাইসটি জানিয়ে দিতে হবে যে উত্সটি থেকে ইনপুট পাওয়া যায় এবং কোনটি প্রথমে আউটপুট প্রেরণ করতে ডুবে যায়।
প্যাভুকন্ট্রোলটি খুলুন এবং এর কনফিগারেশন ট্যাবটি খুলুন। আপনার ব্লুটুথ ডিভাইসটি এখানে প্রদর্শিত হবে তা নিশ্চিত করুন (ব্লুম্যান-ম্যানেজার বা অন্য কোনও ব্লুটুথ সরঞ্জাম ব্যবহার করে এটির সাথে জুড়ি দেওয়ার পরে) এবং প্রোফাইলটি এ 2 ডিজে সেট করা আছে। ইনপুট ডিভাইস ট্যাবে স্যুইচ করুন এবং নিশ্চিত করুন যে আপনার ডিভাইসটি এখানে প্রদর্শিত হবে এবং নিঃশব্দ নয়। এখন রেকর্ডিং ট্যাবে স্যুইচ করুন এবং সদ্য তৈরি হওয়া লুপব্যাক সংযোগটি নিঃশব্দ বোতামের পাশের নির্বাচিত বাক্সের সাহায্যে আপনার ডিভাইসটিকে উত্স হিসাবে ব্যবহার করুন। লুবব্যাক সংযোগটি একইভাবে ব্যবহার করা উচিত সিঙ্কটি নির্বাচন করতে প্লেব্যাক ট্যাবে স্যুইচ করুন। লুপব্যাক ডিভাইস যদি ট্যাবগুলিতে না দেখায় তবে নিশ্চিত হয়ে নিন যে প্রতিটি স্ট্রিম প্রতিটি ট্যাবের নীচে সিলেক্টবক্স ব্যবহার করে প্রদর্শিত হবে।
আপনার স্পিকারে বা ডিভাইসটি বাজানো থাকলে বা আপনার নির্বাচিত যে কোনও আউটপুট ডুবে গেছে তা আপনার ডিভাইস থেকে অডিও শুনতে হবে। যখন আপনার ডিভাইসটি সংযোগ বিচ্ছিন্ন হয়ে যায় তখন লুপব্যাক ডিভাইসটি কোনও উপলব্ধ সিঙ্ক এবং উত্সে ফ্যালব্যাক হয়ে যায়, এটি পছন্দসই নাও হতে পারে, তাই আপনার প্রয়োজন না হওয়া পর্যন্ত লুপব্যাক ডিভাইসটি নিঃশব্দ করার বিষয়টি নিশ্চিত করুন। লুপব্যাক সংযোগটি পরবর্তী সময় একই ব্লুটুথ ডিভাইসটি সংযুক্ত হওয়ার পরে একই সিংক / উত্স পুনরুদ্ধার করবে মডিউল - * - পুনরুদ্ধার মডিউলগুলির জন্য ধন্যবাদ।
যদি এটি কাজ করে না , বা আপনার প্যাভুকন্ট্রল ইনস্টল করা নেই, আপনি পরিবর্তে নিম্নলিখিত পদ্ধতিটি ব্যবহার করে লুপব্যাক সেট আপ করতে পারেন:
pactl load-module module-loopback source_dont_move=yes source=$BTSOURCE sink=$SINK
( $BTSOURCE
যেমন পালস অডিও দ্বারা দেখা আপনার ব্লুটুথ ডিভাইসের উত্স নামের সাথে bluez_source.14_DA_E9_2A_D7_57
প্রতিস্থাপন করুন, এবং $SINK
আপনি যে অডিও স্ট্রিমটি প্রেরণ করতে চান সেই পালস অডিও আউটপুটটির নামটি প্রতিস্থাপন করুন , যেমন: alsa_output.pci-0000_00_1b.0.analog-stereo
আপনি ডুবে যুক্তিটি পুরোপুরি ছেড়ে দিতে পারেন এবং ফলব্যাক করতে পারেন একটি সক্রিয় ডুবায়, এবং এটি পরে প্যাভোকন্ট্রোলের মাধ্যমে পরিবর্তন করুন))
- আপনি এটি
$SINK
সহ খুঁজে পেতে পারেন pactl list sinks
, এটি পরে দেখানো হয়েছেName:
- একইভাবে আপনি দেখতে পারেন
$BTSOURCE
সঙ্গেpactl list sources
source_dont_move
যুক্তি প্রতিরোধ যখন Bluetooth ডিভাইস সংযোগ বিচ্ছিন্ন হয়ে অন্য অডিও উত্স ফিরে স্খলন থেকে লুপব্যাক সংযোগ নেই। পরিবর্তে এটি সরানো হয়েছে এবং আপনাকে পরের বার এটি আবার সেট আপ করতে হবে।
এখানে একটি উদাহরণ দেখতে কেমন হবে ( ব্লুটুথ ঠিকানার :
সাথে এটি প্রতিস্থাপন করতে ভুলবেন _
না!):
pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo
যদি ফ্যালব্যাক মডিউলটি লোড করা ব্যর্থ হয়, source_dont_move=yes
যুক্তিটি সরিয়ে চেষ্টা করুন , এটি প্রথম সংস্করণ 1.0 এ উপলব্ধ করা হয়েছিল। তারপরে আপনি এই অডিওটি ফেলে দেওয়ার আগে এই লুপব্যাক সংযোগটি সরিয়ে ফেলতে সতর্ক হন বা উদাহরণস্বরূপ যদি আপনার ল্যাপটপ মাইক্রোফোনটি নিঃশব্দ করা থাকে তবে আপনি কিছু খুব খারাপ প্রতিক্রিয়া পেতে পারেন। এই লুপব্যাক সংযোগটি ম্যানুয়ালি ড্রপ করতে আপনার হয়ে গেলে, চালান:
pactl unload-module $(pactl list short modules | grep "loopback.*$BTSOURCE" | cut -f1)
আবার, $BTSOURCE
পালস অডিও উত্সের নামের সাথে প্রতিস্থাপন করুন যা আপনার ব্লুটুথ ডিভাইসকে বোঝায়। আপনি লোড-মডিউল কমান্ড দ্বারা ফিরে আইডি ব্যবহার করে মডিউলটি আনলোড করতে পারেন:
$ pactl load-module module-loopback source_dont_move=yes source=bluez_source.14_DA_E9_2A_D7_57 sink=alsa_output.pci-0000_00_14.2.analog-stereo
15
$ pactl unload-module 15
তথ্যসূত্র:
- এটি কীভাবে উবুন্টুতে স্থির করা হচ্ছে তার কিছু বিশদরেখার ব্লগ পোস্ট ।