Câu trả lời hàng đầu ở đây hoạt động, nhưng không phải cho mọi thiết bị âm thanh bluetooth. Một số thiết bị có tên hồ sơ khác với những gì người đăng có với loa bluetooth của mình. Ví dụ, trong đoạn mã sau, được đăng bởi người đó, rõ ràng nó có các hồ sơ được đặt tên a2dp
và hsp
. Chẳng có cái nào trong số này có sẵn với LG Tones của tôi, ví dụ, nhưng chúng là với các thiết bị khác như tai nghe Sony của tôi.
#!/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
Mã đó sẽ hoạt động đối với hầu hết các thiết bị bluetooth xuất hiện, nhưng để mã này hoạt động chính xác cho những thiết bị không có cấu hình a2dp hoặc cấu hình hsp, hãy nhập:
pactl list | grep -Pzo '.*bluez_card(.*\n)*'
Điều này sẽ trả lại mọi thứ sau khi nó tìm thấy một thiết bị bluetooth. Chẳng hạn, với tai nghe LG Tone Ultra, tôi nhận được điều này:
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
Chúng tôi quan tâm đến profiles
phần này. Trong phần này, chúng tôi thấy có ba hồ sơ, đó là a2dp_sink
, headset_head_unit
, và off
. Hai hồ sơ chúng ta cần có trong đó (A2DP chìm) và (HSP / HFP). Trong trường hợp này, chúng a2dp_sink
dành cho hồ sơ headsethead_unit
a2dp và cho hồ sơ hsp. Lưu ý điều này khác với người gửi ban đầu a2dp
và hsp
.
Bây giờ, với đoạn mã trên, chúng tôi sẽ sửa đổi nó và đưa nó vào một tệp. Tôi gọi tập tin bluezswitch.sh
.
Thay đổi thư mục bạn muốn đặt tập tin. Nó có thể là bất cứ nơi nào.
touch bluezswitch.sh
Sau đó
nano bluezswitch.sh
Sao chép và dán mã ở đầu nhận xét này và thay thế a2dp
và hsp
bằng các giá trị bạn nhận được khi chạy lệnh trên và dán mã vào tệp đó. Chẳng hạn, đây là tệp của tôi trông giống như 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
Bây giờ, ctrl-x
sau đó y
để lưu tệp và thoát nano, và sau đó làm cho tệp thực thi:
chmod +x bluezswitch.sh
Sau đó theo dõi bằng cách đặt một phím tắt như đã được giải thích.
Chuyển đến Cài đặt ... Bàn phím ... Phím tắt và tạo lối tắt tùy chỉnh; đặt tên cho nó là bất cứ thứ gì bạn muốn, với lệnh là /home/brillout/bluezswitch.sh (thay thế tên người dùng phù hợp trong đường dẫn!). Bấm vào Áp dụng, rồi bấm vào bên phải nơi nó bị Vô hiệu hóa để thiết lập lối tắt bàn phím để thực thi tập lệnh.
Đó nên là tất cả để có nó. Điều này sẽ làm việc cho tất cả những người mà trước đây nó không hoạt động.
mplayer
, bạn làm như vậy bằng cách nhấn+
và-
phím. Trong VLC, tôi không biết cách đặt độ trễ, nhưng tôi sẽ ngạc nhiên nếu VLC không có tùy chọn như vậy.