अपने उबंटू मशीन को एक 2dp ब्लूटूथ डिवाइस के रूप में उपयोग करने के लिए, आपको पहले इसे "a2dp सिंक" समापन बिंदु के रूप में पंजीकृत करने के लिए कॉन्फ़िगर करना होगा।
Bluez उबंटू में पैकेज (10.04 और ऊपर) एक उपयोगिता बुलाया शामिल sdptool कि जाँच करने के लिए एक ब्लूटूथ डिवाइस या नहीं एक 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 ...
$
इससे पता चलता है कि उबंटू मशीन खुद को a2dp सिंक के रूप में विज्ञापन नहीं दे रही है। हालांकि यह एक a2dp स्रोत के रूप में ही विज्ञापन कर रहा है:
$ 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
यह दोनों का नाम रखा गया है - चूंकि हम जो यहां जोड़ रहे हैं वह ब्लूटूथ सिंक सपोर्ट है, सोर्स सपोर्ट नहीं है - और इस फाइल में टिप्पणी के साथ विरोधाभास है कि सभी कार्यान्वित सेवाओं का दावा डिफ़ॉल्ट रूप से सक्षम है। :(
इस परिवर्तन को करने के बाद, आपको चल कर ब्लूटूथ को पुनः आरंभ करना होगा sudo service bluetooth restart
।
यदि आपने इस काम को करने की कोशिश करते समय पहले अपने एंड्रॉइड डिवाइस और उबंटू कंप्यूटर को पेयर कर लिया है, तो आपको उबंटू को उपलब्ध ऑडियो डिवाइस के रूप में पहचानने के लिए एंड्रॉइड को पाने के लिए दोनों तरफ से पेयरिंग को हटाना होगा और उन्हें फिर से पेयर करना होगा।
एक बार जब आप ऐसा कर लेते हैं, तो Android डिवाइस को PulseAudio के तहत इनपुट डिवाइस के रूप में दिखाना चाहिए। यदि PulseAudio नए ब्लूटूथ ऑडियो स्रोत का पता नहीं लगाता है, तो आपको कमांड लाइन से ब्लूटूथ मॉड्यूल को स्थापित करने और लोड करने की आवश्यकता हो सकती है:
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
फिर आपको इस ऑडियो इनपुट को अपने आउटपुट / सिंक (जैसे आपके स्पीकर, या ब्लूटूथ हेडसेट) को लूपबैक कनेक्शन (एक स्रोत से एक सिंक तक सीधी रेखा) का उपयोग करके रूट करने के लिए पल्सएडियो को बताना होगा।
पल्सएडियो के बाद के संस्करणों में मॉड्यूल-ब्लूटूथ-नीति शामिल हो सकती है और इसमें पहले से ही आपके लिए एक लूपबैक डिवाइस सेट हो सकता है, लेकिन यह सबसे आम मामला नहीं लगता है।
लूपबैक कनेक्शन को स्थापित करने का एक अर्ध-स्वचालित तरीका - यदि आपके पास भी पावुकोन्ट्रोल जीयूआई प्रोग्राम स्थापित है - बस लूपबैक मॉड्यूल को लोड करना है और इसे पावुकोन्ट्रोल का उपयोग करके कॉन्फ़िगर करना है, क्योंकि पल्सएडियो सेटिंग्स को याद रखेगा। लोड हो रहा है मॉड्यूल pactl का उपयोग कर कमांड से किया जाता है:
pactl load-module module-loopback
अगर आप अभी तक कुछ भी नहीं सुनते हैं, तो डरें नहीं, या यदि आपको अजीब प्रतिक्रिया प्रभाव मिलता है, तो हमें नव निर्मित डिवाइस को बताना होगा कि किस स्रोत से इनपुट प्राप्त करना है और कौन सा सिंक पहले आउटपुट को भेजना है।
Pavucontrol खोलें और इसका कॉन्फ़िगरेशन टैब खोलें। सुनिश्चित करें कि आपका ब्लूटूथ डिवाइस यहां दिखाया गया है (ब्लूमैन-मैनेजर या किसी अन्य ब्लूटूथ टूल का उपयोग करने के बाद) और प्रोफ़ाइल A2DP पर सेट है। इनपुट डिवाइस टैब पर स्विच करें और सुनिश्चित करें कि आपका डिवाइस यहां भी दिखाता है और म्यूट नहीं किया गया है। अब रिकॉर्डिंग टैब पर जाएं और नव निर्मित लूपबैक कनेक्शन को म्यूट बटन के बगल में चयन बॉक्स के साथ एक स्रोत के रूप में अपने डिवाइस का उपयोग करें। प्लेबैक टैब पर स्विच करें सिंक का चयन करने के लिए उसी तरह लूपबैक कनेक्शन का उपयोग करना चाहिए। यदि लूपबैक डिवाइस टैब में दिखाई नहीं देता है, तो सुनिश्चित करें कि प्रत्येक टैब के निचले भाग में चयन बॉक्स का उपयोग करके सभी स्ट्रीम प्रदर्शित की जाती हैं।
अब आपको अपने डिवाइस से ऑडियो सुनना चाहिए, यदि यह आपके स्पीकर में, या आपके द्वारा चुने गए आउटपुट को सिंक करता है। जब आपके डिवाइस को डिस्कनेक्ट कर दिया जाता है तो लूपबैक डिवाइस एक उपलब्ध सिंक और स्रोत पर वापस आ जाएगा, जो वांछनीय नहीं हो सकता है, इसलिए सुनिश्चित करें कि आप लूपबैक डिवाइस को तब तक म्यूट करें जब तक आपको इसकी आवश्यकता न हो। लूपबैक कनेक्शन उसी सिंक / स्रोत को पुनर्स्थापित करेगा जब अगली बार एक ही ब्लूटूथ डिवाइस मॉड्यूल से जुड़ा होता है - * - मॉड्यूल को पुनर्स्थापित करें।
यदि वह काम नहीं करता है , या आपके पास pavucontrol स्थापित नहीं है, तो आप निम्न विधि का उपयोग करके लूपबैक सेट कर सकते हैं:
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
आप सिंक तर्क को पूरी तरह से छोड़ सकते हैं और इसमें गिरावट आ सकती है। एक सक्रिय सिंक के लिए, और बाद में इसे pavucontrol के माध्यम से बदल दें।)
- आप के
$SINK
साथ पा सकते हैं pactl list sinks
, यह बाद में दिखाया गया हैName:
- इसी तरह आप के
$BTSOURCE
साथ देख सकते हैंpactl list sources
- यह
source_dont_move
तर्क लूपबैक कनेक्शन को ब्लूटूथ डिवाइस के डिस्कनेक्ट होने पर दूसरे ऑडियो स्रोत पर वापस गिरने से रोकता है। इसके बजाय इसे हटा दिया गया है और आपको इसे अगली बार फिर से सेट करना होगा।
यहां एक उदाहरण दिया गया है, जो एक व्यक्ति की तरह दिखाई देगा ( ब्लूटूथ पते के :
साथ याद रखना _
!):
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
अपने ब्लूटूथ डिवाइस को संदर्भित करने वाले PulseAudio स्रोत के नाम के साथ बदलें । आप लोड-मॉड्यूल कमांड द्वारा लौटाए गए आईडी का उपयोग करके मॉड्यूल को भी उतार सकते हैं:
$ 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
संदर्भ:
- यह उबंटू में कैसे तय किया जा रहा है, इस पर कुछ विवरणों को रेखांकित करते हुए ब्लॉग पोस्ट ।