यहां शीर्ष उत्तर काम करता है, लेकिन हर ब्लूटूथ ऑडियो डिवाइस के लिए नहीं। कुछ उपकरणों के नाम अलग-अलग प्रोफ़ाइल नाम हैं जो उस पोस्टर में उसके ब्लूटूथ स्पीकर हैं। उदाहरण के लिए, निम्नलिखित कोड में, जो मूल रूप से उस व्यक्ति द्वारा पोस्ट किया गया था, इसमें स्पष्ट रूप से नाम a2dp
और hsp
। उदाहरण के लिए, इनमें से कोई भी मेरे एलजी टन के साथ उपलब्ध नहीं हैं, लेकिन वे मेरे सोनी हेडसेट जैसे अन्य उपकरणों के साथ हैं।
#!/bin/bash
BLUEZCARD=`pactl list cards short | egrep -o bluez.*[[:space:]]`
pactl set-card-profile $BLUEZCARD a2dp
pactl set-card-profile $BLUEZCARD hsp
pactl set-card-profile $BLUEZCARD a2dp
यह कोड दिखाई देने वाले अधिकांश ब्लूटूथ डिवाइसों के लिए काम करेगा, लेकिन यह उन डिवाइसों के लिए सही ढंग से काम करने के लिए जिनके पास a2dp प्रोफ़ाइल या hsp प्रोफ़ाइल नहीं है, टाइप करें:
pactl list | grep -Pzo '.*bluez_card(.*\n)*'
यह सब कुछ वापस कर देगा जहां यह एक ब्लूटूथ डिवाइस पाता है। उदाहरण के लिए, एलजी टोन अल्ट्रा हेडसेट के साथ, मुझे यह मिलता है:
Name: bluez_card.B8_AD_3E_**_**_**
Driver: module-bluez5-device.c
Owner Module: 36
Properties:
device.description = "LG HBS810"
device.string = "B8:AD:3E:**:**:**"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_B8_AD_3E_**_**_**"
bluez.class = "0x240404"
bluez.alias = "LG HBS810"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Profiles:
a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes)
headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 20, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: a2dp_sink
Ports:
headset-output: Headset (priority: 0, latency offset: 0 usec)
Part of profile(s): a2dp_sink, headset_head_unit
headset-input: Headset (priority: 0, latency offset: 0 usec)
Part of profile(s): headset_head_unit
हम profiles
अनुभाग में रुचि रखते हैं । इस खंड में, हम तीन प्रोफाइल, जो कर रहे हैं a2dp_sink
, headset_head_unit
और off
। हमें जिन दो प्रोफाइल की जरूरत है, उनमें (A2DP सिंक) और (HSP / HFP) होना चाहिए। इस मामले में, वे a2dp_sink
a2dp प्रोफ़ाइल के लिए, और headsethead_unit
hsp प्रोफ़ाइल के लिए हैं। सूचना इस मूल पोस्टर के तुलना में अलग है a2dp
और hsp
।
अब, उपरोक्त कोड के साथ, हम इसे संशोधित करेंगे और इसे एक फ़ाइल में डाल देंगे। मैंने फाइल मंगवाई bluezswitch.sh
।
उस निर्देशिका को बदलें जिसे आप फ़ाइल रखना चाहते हैं। यह कहीं भी हो सकता है।
touch bluezswitch.sh
फिर
nano bluezswitch.sh
कॉपी करें और इस टिप्पणी के शीर्ष पर कोड पेस्ट और की जगह a2dp
और hsp
साथ मूल्यों आप मिल गया है जब आप उपरोक्त आदेश भाग गया, और उस फ़ाइल में पेस्ट करें। उदाहरण के लिए, यह वही है जो मेरी फ़ाइल मेरे एलजी टोन के लिए दिखती थी।
#!/bin/bash
BLUEZCARD=`pactl list cards short | egrep -o bluez.*[[:space:]]`
pactl set-card-profile $BLUEZCARD a2dp_sink
pactl set-card-profile $BLUEZCARD headset_head_unit
pactl set-card-profile $BLUEZCARD a2dp_sink
अब, ctrl-x
तो y
फ़ाइल और बाहर निकलने नैनो को बचाने के लिए, और फिर फ़ाइल निष्पादन योग्य बनाने:
chmod +x bluezswitch.sh
फिर कीबोर्ड शॉर्टकट सेट करके फॉलो करें जैसा कि समझाया गया है।
सेटिंग्स पर जाएं ... कीबोर्ड ... शॉर्टकट, और एक कस्टम शॉर्टकट बनाएं; जो भी आप चाहते हैं उसे नाम दें, कमांड के साथ /home/brillout/bluezswitch.sh (पथ में स्थानापन्न उपयोगकर्ता नाम!)। लागू करें पर क्लिक करें, और फिर उस दाईं ओर क्लिक करें जहां यह कहता है कि स्क्रिप्ट निष्पादित करने के लिए कीबोर्ड शॉर्टकट सेट करना अक्षम है।
बस इतना ही होना चाहिए। यह उन सभी के लिए काम करना चाहिए जो इससे पहले काम नहीं करते थे।
mplayer
, आप कुंजी+
और-
कुंजी दबाकर ऐसा करते हैं । VLC में, मुझे नहीं पता कि देरी को कैसे सेट किया जाए, लेकिन अगर VLC के पास ऐसा कोई विकल्प नहीं है, तो मुझे आश्चर्य होगा।