Jadikan PulseAudio lebih suka perangkat audio eksternal

11

Saya memiliki perangkat audio eksternal Bose Soundlink, yang saya gunakan untuk mengalirkan musik dari komputer ke stereo saya. Ubuntu mengenali perangkat, tetapi tidak secara otomatis menggunakannya. Untuk mendapatkan PulseAudio menggunakannya untuk output, saya harus memilihnya secara manual di tab 'Output' di 'Sound settings'.

Saya ingin PulseAudio selalu lebih memilih perangkat eksternal daripada internal, jika tersedia. Apakah ada cara untuk menyelesaikan ini?

bessman
sumber

Jawaban:

18

Juga digunakan memuat modul module-switch-on-connect. Jika Anda menambahkan baris

load-module module-switch-on-connect

untuk /etc/pulse/default.pa(sebagai su, tentu saja), ini harus terjadi secara otomatis tanpa harus memanggil skrip.

Sam Whitlock
sumber
3
Terima kasih! Itu solusi elegan untuk masalah ini. Untuk mengujinya: $ modul load-module module-switch-on-connect
iElectric
1
Bekerja hebat dengan USB DAC dan Linux Mint 18 Sarah
alfonx
Bekerja dengan Sims4 USB headset + mic di Linux Mint 18.3 Sylvia
Nidhin David
5

Secara teori, ini harus ditangani oleh 'PulseAudio Volume Control'. Ada tombol untuk memilih perangkat sebagai perangkat default, meskipun imho dengan buruk berjudul 'Set as fallback'. Info lebih lanjut tentang fitur ini di sini: http://ubuntuguide.org/wiki/Ubuntu_Oneiric_Hardware

Sayangnya fitur ini tidak berfungsi. Segera setelah perangkat audio USB dicabut pengaturannya sebagai perangkat standar terlupakan, meskipun semua pengaturan lain seperti volume, keseimbangan, dll dipertahankan pada saat perangkat dicolokkan. Dalam kasus Anda, jika perangkat tidak dihapus fitur ini sebenarnya dapat bekerja untuk Anda. Jika Anda kehilangan aplikasi, cukup instal paket 'pavucontrol'

Saya menggunakan headset USB untuk menelepon dan harus membuat skrip menggunakan 'pacmd' untuk mengaktifkan atau menonaktifkannya sesuai kebutuhan untuk menghindari melalui GUI, Ini memungkinkan saya untuk hanya menambahkan beberapa item peluncur untuk beralih bolak-balik sesuai kebutuhan. Dalam kasus saya, skrip saya untuk mengaktifkan headset adalah:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

Dan untuk kembali ke audio internal saya:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

'pacmd' cukup mudah digunakan, jalankan saja dari terminal dan masukkan 'bantuan' untuk info lebih lanjut.

Veazer
sumber
1
Juga patut dicatat, saya telah beralih ke distro berbasis KDE (NetRunner) dan preferensi perangkat audio ditangani jauh lebih baik, bahkan sampai menggunakan berbagai perangkat default untuk berbagai jenis aplikasi (komunikasi, multimedia, dll).
Veazer
"Meskipun imho dengan buruk disebut sebagai 'Tetapkan sebagai fallback'." Poin bagus +1
mertyildiran
@ Veazer Bukankah seharusnya Set as Fallbackmembuat PulseAudio menggunakan perangkat ini ketika perangkat "utama" gagal?
cprn
2

Saya memiliki jawaban yang sama dengan apa yang dikatakan Sam Whitlock, kecuali saya harus mengedit file default.padi ~/.config/pulse. Hanya menambahkan load-module module-switch-on-connectberhasil!

Menjalankan Ubuntu 17.04 dengan Headset Bluetooth JieLi AC4100 / IQ Sound (menggunakan USB).

scoutchorton
sumber