Saya ingin menggunakan Raspberry Pi saya sebagai bak cuci PulseAudio yang dapat memutar audio melalui jaringan.
Sebagai permulaan saya ingin menjalankan Pulseaudio secara lokal dan mengalami berbagai kesalahan. Saya menggunakan gambar Debian yang direkomendasikan.
Apa prosedur terbaik untuk menjalankan dan menjalankan PulseAudio?
Inilah yang saya coba sejauh ini:
Prosedur
Prosedur saya sejauh ini terlihat seperti berikut:
Instal Pulseaudio, dan VLC:
sudo apt-get install pulseaudio
Konfigurasikan GStreamer untuk menggunakan pulseaudio sink:
gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink
Muat modul kernel untuk perangkat audio
sudo modprobe snd_bcm2835
Jalankan VLC dengan mp3
vlc
Masalah
VLC retak berulang kali, mencetak kesalahan ini:
[0x7503d0] alsa audio output error: cannot write: Broken pipe
Jawaban:
Saya sudah membuatnya bekerja pada Raspberry Pi saya menggunakan wastafel ALSA, dengan prosedur sebagai berikut:
Untuk menginstal file yang diperlukan:
Untuk mengaktifkan ALSA:
Untuk mengatur jaringan:
dan batalkan komentar pada baris:
Untuk memulai server pulseaudio, gunakan:
Anda harus dapat menguji apakah itu berfungsi dengan memutar file wav dengan paplay (
sudo apt-get install pulseaudio-utils
), dan juga melalui jaringan dengan memilih wastafel di panel kontrol suara sistem Anda.Anda mungkin juga dapat mengatur dalam mode sistem-lebar dengan:
sumber
pulseaudio-module-zeroconf
tidak ada di bagian instal apt-get. Harus menyebutkan mungkin jugapulseaudio --log-level=debug
untuk memecahkan masalah. Pada sumber suara (bukan pi raspberry), Anda harus meluncurkanpaprefs
untuk dengan mudah meninjau pulseaudio conf Anda (jika Anda memiliki X11). Dan jangan lupa untuk memulai kembalipulseaudio
jika ragu.Jika Anda ingin pulseaudio memulai saat boot, tetapi sebagai layanan tingkat pengguna, Anda dapat membuat file unit systemd. Ini dapat membantu, karena pulseaudio tidak memilih untuk menjalankan dalam mode sistem. https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/
Ini adalah layanan yang saya tulis di /etc/systemd/system/pulseaudio.service
Before = menyuruhnya menunggu sampai setelah sound.target diinisialisasi. BusName = menghubungkannya ke D-Bus WantedBy = session.target adalah default yang membantu, tapi saya tidak benar-benar tahu apa fungsinya.
sumber
~/.config/systemd/user/pulseaudio.service
dan menggunakan systemd dengan--user
flag untuk menghindari hak akses root.Saya mengalami kesulitan menjalankan pulseaudio di Wheezy raspbian (2012-10-28) menggunakan output analog. Berikut ini adalah apa yang saya lakukan hanya untuk membuatnya bekerja dalam mode per sesi (bukan mode sistem). Mode sistem dapat bekerja juga, saya belum mencobanya. Menyiapkan server akan membutuhkan lebih banyak pekerjaan. Saya menemukan informasi ini di berbagai tempat, semoga mengumpulkannya di sini akan membantu seseorang.
Instal pulseaudio dan pastikan pengguna (mis. Eric) adalah bagian dari grup audio:
Ubah /etc/asound.conf seperti berikut ini. Ini mengatur pulseaudio untuk digunakan sebagai perangkat alsa secara default sehingga aplikasi menggunakannya tanpa konfigurasi tambahan. Dua deklarasi pertama (termasuk yang dikomentari) ada di file asli.
Tambahkan baris berikut ke /etc/pulse/daemon.conf:
trivial
adalah metode kualitas terendah, tetapi menggunakan sekitar 6% cpu.src-sinc-fastest
juga bekerja untuk saya, tetapi gunakan sekitar 25% CPU. Orang lain mungkin bekerja juga. Ini sedikit kemudian saya tidak begitu mengerti perlunya, tetapi tampaknya menjadi bahan ajaib. Anda dapat membaca lebih lanjut di sini .Akhirnya, untuk membungkam audio yang muncul di antara lagu diputar, komentari baris ini di /etc/pulse/default.pa sebagai berikut:
Masih ada beberapa dropout ketika dua sumber bermain sekaligus, jika saya menemukan obat untuk itu saya akan menambahkan jawaban ini.
sumber
trivial
untuk saya.