Saya menggunakan fitur PulseAudio perangkat suara jaringan (bukan Multicast / RTP) untuk memutar suara dari netbook saya pada peralatan audio yang terhubung ke HTPC ketika di rumah. Ini menciptakan perangkat suara virtual yang kemudian dapat saya gunakan sebagai pengganti perangkat bawaan fisik. Sebagian besar waktu ini berfungsi dengan baik. Namun terkadang, perangkat suara virtual tidak muncul. Memutuskan hubungan dari dan menghubungkan kembali ke jaringan kadang-kadang membantu tetapi tidak selalu dan itu menjengkelkan dan berpotensi buruk untuk koneksi TCP yang ada.
Jadi pada dasarnya pertanyaan saya adalah: Apakah ada cara untuk memberi tahu PulseAudio "Hei, lihat lagi jika Anda benar - benar tidak dapat menemukan perangkat suara jaringan."?
Sunting: Bongkar dan muat ulang module-zeroconf-discover
dengan pacmd
tidak membantu juga dan itu tampaknya tidak menjadi masalah avail per se karena avahi-browse -t --all | grep PulseAudio
menunjukkan banyak hal yang tampak benar, bahkan ketika perangkat tidak terdaftar dalam pavucontrol atau pacmd list-sinks
.
Sunting 2: Saya menggunakan Ubuntu 12.04 pada kedua kotak untuk semua perbedaan yang mungkin terjadi.
sumber
Jawaban:
$ pacmd
Anda akan melihat shell mirip-Python dengan pesan sambutan berikut.
Welcome to PulseAudio! Use "help" for usage information. >>>
>>> list-sinks
Sekarang Anda akan melihat daftar terperinci dari semua sound sink.
1 sink(s) available. index: 0 name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
...
String yang saya minati hanyalah "alsa_output.pci-0000_00_1b.0.analog-stereo"
$ pactl load-module module-tunnel-sink "server=192.168.1.105 sink=alsa_output.pci-0000_00_1b.0.analog-stereo sink_name=home_theater"
Di sini 192.168.1.105 adalah alamat IP dari sink PC, "alsa_output.pci-0000_00_1b.0.analog-stereo "adalah string yang baru saja Anda salin dari terminal wastafel dan" home_theater "hanyalah nama mewah untuk memanggil perangkat output suara virtual ini di komputer Anda.
$ pacmd set-default-sink home_theater
Wallah !!
sumber
Sederhana
sudo service avahi-daemon restart
melakukan trik, meskipunavahi-browse
melihat perangkat sebelum itu avahi restart. Terima kasih kepada Takkat karena menunjuk saya ke arah yang benar.sumber
Jawaban ini belum diuji sehingga mungkin tidak berhasil, tetapi mungkin mengarahkan Anda ke arah yang benar.
Saya dapat mengkonfirmasi masalah yang belum terselesaikan dengan layanan Avahi yang terkadang tidak dapat terhubung ke server PulseAudio. Kami mungkin berhasil menghubungkan kembali dengan me-restart jaringan, atau server pulseaudio tetapi sayangnya ini tidak selalu berhasil.
Untuk mengatasi masalah ini, kami dapat mencoba membuat aliran audio jaringan menggunakan protokol TCP asli untuk melakukan streaming langsung ke IP daripada menggunakan resolusi nama Avahi.
Untuk melakukannya, kita dapat melakukan tunnel remote sink dengan memuat module-tunnel-sink di sisi penerima. Pada pengirim kita harus mengaktifkan protokol TCP asli dengan memuat module-native-protocol-tcp .
Lihat juga pertanyaan ini untuk terminologi dan cara mendefinisikan
PULSE_SERVER
variabel:Cara mengatur bak cuci default PulseAudio secara otomatis ke server jarak jauh saat boot - Ubuntu 9.04
Ini adalah pertanyaan yang agak lama untuk Ubuntu 9.04 tetapi untuk terminologi knwoledge saya dan prosedur tidak banyak berubah sejak saat itu.
Harap ikuti PulseAudio Wiki pada koneksi jaringan .
sumber
sudo service avahi-daemon restart
Saya tidak berharap itu karenaavahi-browse
melihat perangkat bahkan sebelum restart tetapi saya kira restart memicu panggilan balik untuk dipanggil lagi yang adalah semua yang diperlukan.Anda dapat mencoba
pulseaudio -k
, yang mematikan layanan pulseaudio (sepertinya mulai lagi secara otomatis). Ini telah mengembalikan banyak hal kepada saya sebelumnya.Hal lain yang kadang-kadang membantu adalah melepaskan lalu memasukkan kembali kotak di
Pulseaudio Preferences
(aliaspaprefs
). Kotak centang adaMake discoverable PulseAudio network sound devices available locally
diNetwork Access
, danEnable network access to local sound devices
diNetwork Server
. Jelas ini mungkin hanya berfungsi untuk yang Anda gunakan.sumber