Secara otomatis mengalihkan perangkat output suara ke headset Bluetooth & memaksa ke profil A2DP saat koneksi


11

Headset bluetooth saya (Plantronics Backbeat Go2) terhubung dengan baik dengan sistem saya, tetapi ada beberapa langkah manual yang harus saya ambil untuk membuat pekerjaan ini yang saya ingin otomatiskan:

  1. Setelah setiap reboot saya harus menjalankan modul load-module-bluetooth-finde di terminal untuk mendapatkan perangkat untuk terhubung sama sekali. Saya mencoba memasukkan ini ke dalam skrip shell untuk dijalankan saat start up, tetapi tidak ada dadu :(
  2. Headset saya terhubung secara otomatis tanpa masalah, tetapi selalu default ke Telephony Duplex atau bahkan Off, bukan A2DP; Saya sudah mencoba dan gagal dengan beberapa strategi berbeda untuk memaksa A2DP :(
  3. Paksa headset BT menjadi perangkat output default. Sudah mencoba beberapa strategi di sini ... sayangnya setiap kali saya menghubungkan headset indeks dari pacmd tampaknya berubah, jadi saya tidak bisa memaksakan default di file conf PA set-default-sink seperti itu. Dan menggunakan nama yang tercantum tampaknya tidak berfungsi baik - jika headset tidak ada, ia beralih ke speaker dan tidak beralih kembali jika headset menghubungkan :(

Terima kasih atas saran yang Anda miliki tentang menyelesaikan masalah ini!

Jawaban:


8

Ini bekerja untuk saya: https://sandalov.org/blog/2146/

Instruksi disalin di sini untuk anak cucu:

Add to /etc/pulse/default.pa to automatically switch pulseaudio sink to Bluez:

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect  # Add this
.endif

Modify/Create /etc/bluetooth/audio.conf to auto select A2DP profile (instead of HSP/HFP):

[General]
Disable=Headset # Add this

Apply changes:

pulseaudio -k # Restarts pulseaudio

# You may need to turn your bluetooth headphones off, then back on

1
Komentar: Komentar "tambahkan ini" penting, karena baris " .ifexists module-bluetooth-discover.so" sudah ada. Saya mencoba menambahkan seluruh empat baris pada akhirnya dan itu tidak berhasil. Hanya menambahkan satu baris di tempat yang tepat berfungsi.
Fabian Röling

2
pada Ubuntu Bionic saya atur AutoConnect=truedaripada Disable = Headset
develCuy

Harap dicatat bahwa setelah PulseAudio versi 11, auto_switch dikonversi ke integer sehingga memerlukan nilai seperti 0, 1, 2 tergantung pada fungsi peralihan otomatis yang Anda butuhkan: freedesktop.org/wiki/Software/PulseAudio/Notes/11.0
mitsos1os

2

Tidak hanya setelah reboot, tetapi juga setelah melepas dan menghubungkan kembali perangkat yang mampu profil HSP, dan A2DP, Bluez selalu menghubungkannya dalam mode HSP (headest).

Saya tidak dapat secara detail mengatakan apa yang terjadi di bawah tenda (Bluetooth memiliki beberapa kebiasaan) tetapi saya menduga bahwa kita menghubungkan perangkat baru sebagai Headset daripada sebagai perangkat Audio atau AudioSink melalui dbus.

Tampaknya tidak ada pengaturan yang dengannya kami dapat mengontrol ini. Saya tidak mengetahui pengaturan apa pun yang dapat kita buat sebagai default perangkat Bluetooth ke A2DP saat menghubungkan (tapi saya tidak bisa mengecualikan bahwa saya melewatkan sepotong dokumentasi di suatu tempat). Ini mungkin dianggap bug.

Pada suatu waktu saya menulis sebuah skrip untuk membuat koneksi Bluetooth menggunakan profil Audio . Script ini dimasukkan dalam aplikasi GUI Python kecil ( bt-autoconnect pada launchpad atau melalui ppa saya : takkat-nebuk / takkat ) yang mana di antara tweak lainnya melakukan hal ini tetapi ini lebih merupakan peretasan daripada solusi yang pasti, dan sayangnya itu tidak tidak bekerja dengan semua adaptor di sekitar tetapi itu akan menghubungkan headset Philips saya dalam mode A2DP pertama (meskipun pengaturan suara masih mengklaim itu HFP tapi itu masalah lain).


Terima kasih atas masukan Takkat ... Saya pikir saya hanya tipuan, dan itu akan menjadi proses manual :(
Logo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.