मैं लिनक्स के लिए नया हूं और ब्लूटूथ स्क्रिप्टिंग के लिए भी नया हूं। अब तक मैंने जो कुछ भी खोजा है वह निम्नलिखित है:
- Bluez डिफ़ॉल्ट BT स्टैक है।
- BluezTools उपयोगिताओं का एक सेट है जिसका उपयोग आप Bluez के साथ अधिक आसानी से बातचीत करने के लिए कर सकते हैं
- DBus वह इंटरफ़ेस है जो Bluez हार्डवेयर से सीधे इंटरैक्ट करते समय कनेक्ट होता है।
- पल्सएडियो सिस्टम पर ऑडियो बनाने के लिए जिम्मेदार सबसिस्टम है।
यह समझ में आता है। तो चलिए बताते हैं कि मेरे पास BlueTooth हेडफोन का एक सेट है, जो मैं उम्मीद करता हूं (सभी जोड़ी और भरोसे के बाद), एक कमांड जारी करने में सक्षम होने के लिए जो बीटी हेडफ़ोन पर एक निश्चित प्रोफ़ाइल से सीधे जुड़ सकता है।
मेरे मन में तकनीकी रास्ता कुछ इस तरह होगा:
- हेडफोन चालू करें।
- एक BluezTools कमांड जारी करें - जैसे कि bt-audio -c
- मेरे द्वारा सेवा के बाद से कनेक्ट होने के लिए डिवाइस के लिए प्रतीक्षा करें
- PulseAudio को अब एक नया आउटपुट डिवाइस चुनना चाहिए
- ऑडियो को नए आउटपुट ऑडियो (बीटी हेडफ़ोन) से बदलने के लिए एक और कमांड जारी करें।
- सहज सुनने के अनुभव का आनंद लें।
यह सब तर्कसंगत लगता है, लेकिन वास्तविक कार्यान्वयन ऐसा नहीं है, और मैं WHY की तलाश कर रहा हूं, इसलिए मैं समस्या को बेहतर ढंग से समझ सकता हूं और इसे ठीक करने की कोशिश कर सकता हूं।
वास्तव में ऐसा होता है:
- हेडफोन चालू करें।
- एक BluezTools कमांड जारी करें - जैसे कि bt-audio -c
- मेरे द्वारा सेवा के बाद से कनेक्ट होने के लिए डिवाइस के लिए प्रतीक्षा करें
- PulseAudio को अब एक नया आउटपुट डिवाइस चुनना चाहिए
- पल्सएडियो कमांड को टेलीफोन की गुणवत्ता से ऑडियो प्रोफाइल को उच्च निष्ठा में बदलने के लिए जारी करें।
मुझे इस पर थोड़ा विस्तार करना चाहिए। ब्लूटूथ हेडसेट 2 गुणवत्ता मोड (टेलीफोन और उच्च निष्ठा) प्रदान करता है। केवल 1 संगीत सुनने के लिए वास्तव में उपयुक्त है।
मुझे उम्मीद है कि बीटी हेडफ़ोन प्रत्येक गुणवत्ता मोड को एक सेवा के रूप में उजागर करता है, क्या यह सही है? यह धारणा गलत हो सकती है, लेकिन मैं कुछ इस तरह की उम्मीद करूंगा
bt-audio -c highFidelityProfile
या
bt-audio -changeProfile highFidelityProfile
इसके बजाय ऐसा लगता है कि Bluez सिर्फ डिवाइस के RAW कनेक्शन को संभालता है, और वहाँ से आपको एक जारी करने की आवश्यकता है: pacmd सेट-कार्ड-प्रोफाइल $ INDEX a2dp
यह सिर्फ मौलिक रूप से गलत लगता है। ऑडियो सबसिस्टम में गुणवत्ता नियंत्रण क्यों होता है, इसलिए पल्स या एल्सा या किसी अन्य साउंड सब सिस्टम के लिए अलग कार्यान्वयन की आवश्यकता होती है?
मुझे किसकी याद आ रही है? Bluez / BluezTools आदि का उपयोग करके एक निश्चित प्रोफ़ाइल से सीधे कनेक्ट करना संभव क्यों नहीं है?