Верхня відповідь тут працює, але не для кожного аудіопристрою Bluetooth. Деякі пристрої мають інші назви профілів, ніж ті, що мають плакати зі своїми динаміками Bluetooth. Наприклад, у наступному коді, який був спочатку розміщений цією особою, він, мабуть, має профілі з ім'ям a2dp
та hsp
. Наприклад, жодна з них не доступна в моїх тонах LG, але вони є на інших пристроях, таких як гарнітура Sony.
#!/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
Цей код буде працювати на більшості пристроїв Bluetooth, які він з'являється, але щоб правильно працювати для тих пристроїв, у яких немає а2dp-профілю або профілю hsp, введіть:
pactl list | grep -Pzo '.*bluez_card(.*\n)*'
Це поверне все після того, де він знайде Bluetooth-пристрій. Наприклад, завдяки гарнітурі LG Tone Ultra я отримую таке:
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 Sink) та (HSP / HFP). У цьому випадку вони призначені a2dp_sink
для профілю a2dp, і headsethead_unit
для профілю hsp. Зауважте, що це відрізняється від оригіналу a2dp
та hsp
.
Тепер, з вищевказаним кодом, ми його модифікуємо та вкладемо у файл. Я зателефонував у файл bluezswitch.sh
.
Перейдіть до каталогу, в який потрібно помістити файл. Це може бути де завгодно.
touch bluezswitch.sh
Тоді
nano bluezswitch.sh
Скопіюйте та вставте код у верхній частині цього коментаря та замініть значення a2dp
та hsp
значення, отримані під час виконання вищевказаної команди, та вставте його у цей файл. Наприклад, так виглядав мій файл для моїх тонів LG.
#!/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 немає такої можливості.