2 votos

¿Cómo reproducir/grabar sonido desde Debian chroot?

Hay un archivo grande con ext2 con ARM Debian donde puedo hacer chroot.

Hay mplayer funcional (puedo -ao pcm o -vo yuv4mpegpipe ) allí.

¿Cómo grabar/reproducir sonido (o vídeo) desde esta Debian? ¿Hay cosas que emulen ALSA/OSS/lo que sea para usar los programas habituales de linux y los de Android uno al lado del otro? ¿Puede que haya un servidor pulseaudio para Android?

2voto

Vi0 Puntos 656

He conseguido hacerlo sonar escribiendo en /dev/msm_pcm_out:

mplayer something.mp3 -ao pcm:file=/dev/msm_pcm_out

El sonido es entrecortado y, en general, tiene mal aspecto.

La salida de vídeo es algo así como -vo fbdev:/dev/graphics/fb0 .

1voto

Puede que no todos los Android tengan un dispositivo de salida PCM en /dev como requiere la respuesta de Vi0.

Una solución más general es configurar Pulse para transmitir audio del sistema a un puerto TCP en tu dispositivo. A continuación, puede utilizar Reproductor de protocolo simple o PulseDroid en su entorno Android para reproducir la transmisión.

Para eliminar el chop/lag en VLC, MPlayer y Audacity, me fue necesario elegir ALSA como dispositivo de salida y Pulse como mezclador (en las opciones de estos programas).

Pasos que he utilizado en mi Amazon Fire 7" 2015 / CM12 / Debian Wheezy chroot:

  1. Instala pulseaudio en el chroot: sudo apt-get install pulseaudio .
  2. Como sugiere un comentario sobre el github de meefik he eliminado la línea load-module module-console-kit del archivo /etc/pulse/default.pa .
  3. Ejecutar pactl list | grep 'Name\|Description' e identificar un módulo que supervise el audio del sistema. He utilizado con éxito 'Dummy Output Monitor' llamado auto_null.monitor .
  4. Escriba el script de shell correspondiente pashare como sigue (crédito a AlexAndersan en SuperUsuario ):

    !/bin/sh

    case "$1" in start) $0 stop pulseaudio --start pactl load-module module-simple-protocol-tcp rate=44100 format=s16le channels=2 source=auto_null.monitor record=true port=8000 ;; stop) killall pulseaudio pactl unload-module pactl list | grep tcp -B1 | grep M | sed 's/[^0-9]//g' ;; *) echo "Usage: $0 start|stop" >&2 ;; esac

Asegúrese de que el rate y port coinciden con sus ajustes en Simple Protocol Player (en el lado Android). Demandas PulseDroid rate=48000 lo que significa un mayor rendimiento, y posiblemente podría introducir chop/lag.

He añadido el pulseaudio --start y killall líneas porque pulse no se iniciaría automáticamente en mi chroot.

  1. Haz que el script sea ejecutable y ejecútalo:

    chmod 755 pashare sudo mv pashare /usr/local/bin/ pashare start

  2. Configura tus reproductores multimedia chroot para que emitan a ALSA, con el mezclador Pulse. Tuve que configurar esto manualmente, para eliminar el audio entrecortado:

    • VLC : En Herramientas->Preferencias->Audio, ajuste Output module: ALSA audio output y Device: Playback/recording through the PulseAudio sound server .

    • GNOME MPlayer : En Edición->Preferencias->Reproductor, establezca Audio Output: ALSA .

  3. En Android, inicie Simple Protocol Player o PulseDroid en la dirección IP 127.0.0.1 (loopback) y configure las demás opciones para que coincidan con su pashare guión.

Tenga en cuenta que Android trata la aplicación como un reproductor de música, y lo matará si otra aplicación intenta reproducir música, o si se decide liberar la CPU . Probablemente haya soluciones para esto.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X