Верхний ответ здесь работает, но не для каждого аудиоустройства 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, как он появляется, но для корректной работы с теми устройствами, которые не имеют профиля a2dp или профиля 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 Tones.
#!/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 не имеет такой опции.