Me gustaría usar mi Raspberry Pi como un receptor PulseAudio que puede reproducir audio a través de la red.
Para empezar, quiero que Pulseaudio se ejecute localmente y me he encontrado con varios errores. Estoy usando la imagen recomendada de Debian.
¿Cuál es el mejor procedimiento para poner en funcionamiento PulseAudio?
Esto es lo que he intentado hasta ahora:
Procedimiento
Mi procedimiento hasta ahora se parecía a lo siguiente:
Instale Pulseaudio y VLC:
sudo apt-get install pulseaudio
Configure GStreamer para usar el receptor de pulseaudio:
gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink
Cargue el módulo del kernel para el dispositivo de audio
sudo modprobe snd_bcm2835
Ejecute VLC con un mp3
vlc
Problemas
VLC se agrieta repetidamente, imprimiendo este error:
[0x7503d0] alsa audio output error: cannot write: Broken pipe
Respuestas:
Lo tengo funcionando en mi Raspberry Pi usando el fregadero ALSA, con el siguiente procedimiento:
Para instalar los archivos necesarios:
Para habilitar ALSA:
Para configurar redes:
y descomentar las líneas:
Para iniciar el servidor pulseaudio, use:
Debería poder probar que funciona reproduciendo un archivo wav con paplay (
sudo apt-get install pulseaudio-utils
), y también a través de la red seleccionando el sumidero en el panel de control de sonido de su sistema.También puede configurarlo en modo de todo el sistema con:
fuente
pulseaudio-module-zeroconf
falta en la parte de instalación de apt-get. Debería mencionar tal vez tambiénpulseaudio --log-level=debug
para solucionar cualquier problema. En la fuente de sonido (no en la frambuesa pi), debe iniciarpaprefs
para ver fácilmente su configuración de pulseaudio (si tiene X11). Y no olvide reiniciarpulseaudio
cuando tenga dudas.Si desea que pulseaudio se inicie en el arranque, pero como servicio de nivel de usuario, puede crear un archivo de unidad systemd. Esto puede ayudar, ya que pulseaudio no prefiere ejecutarse en modo de sistemas. https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/
Aquí está el servicio que escribí en /etc/systemd/system/pulseaudio.service
Antes = le dice que espere hasta que se inicialice sound.target. BusName = lo conecta a D-Bus WantedBy = session.target es un valor predeterminado útil, pero realmente no sé qué hace.
fuente
~/.config/systemd/user/pulseaudio.service
y usar systemd con la--user
bandera para evitar privilegios de root.Tuve dificultades para ejecutar Pulseaudio en Wheezy raspbian (2012-10-28) usando la salida analógica. Lo siguiente es lo que hice solo para que funcione en modo por sesión (no en modo sistema). El modo del sistema puede funcionar también, no lo he intentado. La configuración del servidor requerirá más trabajo. Encontré esta información en varios lugares, espero que reunirla aquí ayude a alguien.
Instale pulseaudio y asegúrese de que el usuario (por ejemplo, eric) sea parte del grupo de audio:
Cambiar /etc/asound.conf se parece a lo siguiente. Esto configura pulseaudio para que se use como dispositivo alsa de manera predeterminada, de modo que las aplicaciones lo usen sin ninguna configuración adicional. Las dos primeras declaraciones (incluida la comentada) estaban en el archivo original.
Agregue las siguientes líneas a /etc/pulse/daemon.conf:
trivial
Es el método de menor calidad, pero utiliza aproximadamente 6% de CPU.src-sinc-fastest
También funcionó para mí, pero uso aproximadamente un 25% de CPU. Otros pueden funcionar también. Este último bit no entiendo la necesidad, pero parecía ser el ingrediente mágico. Puedes leer más sobre esto aquí .Finalmente, para silenciar los pops de audio entre reproducciones de canciones, comente esta línea en /etc/pulse/default.pa como sigue:
Todavía hay algunos abandonos cuando se reproducen dos fuentes a la vez, si descubro un remedio para eso, agregaré a esta respuesta.
fuente
trivial
para mí.