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