¿Cómo usar el teléfono Android 2.1 como receptor de audio remoto?

21

Tengo un teléfono HTC Hero Android sin usar (con Android OS 2.1), me gustaría conectarlo a un amplificador de audio y dejarlo conectado durante meses, así que podría usar este teléfono Android como servidor / receptor de pulsea remoto / etc.

Hay una aplicación de "Audio remoto" disponible en Android Market, que puede tomar stream desde / dev / dsp. / dev / dsp se ha inhabilitado por error / cualquier otra razón en Ubuntu 10.10 e incluso después de habilitar de acuerdo con este hilo - después de seguir estas instrucciones no sirvió, así que cuando hago clic en el botón Reproducir / Pausa en mi android, nada sucede realmente y mpg123 song.mp3 todavía usa mis parlantes portátiles. último | head incluso no muestra este nuevo usuario que inicia sesión (¿Supongo que debería aparecer aquí?)

Buscando por "pulseaudio" encontré Airbubble en el mercado de Android, pero dice "no funciona con RaopX en MacOS X y el módulo raop para pulseaudio en Linux". (c)

Entonces, ¿hay alguna manera de utilizar el teléfono Android como receptor de audio remoto, idealmente no limitado a reproducir música en mp3, pero el subsistema de sonido en general?

Seguramente no soy el único hombre que desea transmitir audio al teléfono Android a través de wi-fi para escucharlo en los parlantes adecuados.

    
pregunta user35834 29.11.2011 - 02:28

5 respuestas

13

Creo que está trabajando demasiado en la idea, tratando de hacer que su teléfono haga algo que nunca tuvo la intención de hacer (conectarse a PulseAudio o algo incluso de bajo nivel). Haga que su computadora haga el trabajo duro.

Sugeriría ir con algo como Icecast ( tutorial aquí ) y el uso de una de las 30 y pico aplicaciones para Android que pueden transmitirlo.

    
respondido por el Oli 29.11.2011 - 02:35
19

Hace dos días tropecé con esta pregunta y no pude hacerlo bien. Finalmente, leí en el manual de AirBubble que RAOP no está soportado.

Finalmente lo resolví con las capacidades DLNA / UPnP de pulseaudio. Funciona exactamente como esperarías. Toca sonido con cualquier aplicación con salida de pulsoaudio en su caja y selecciona la salida de transmisión siempre que quiera redirigirla a su dispositivo Android.

Primero, instale Rygel:

$ sudo apt-get install rygel rygel-preferences rygel-gst-launch

Luego, modifique el archivo /etc/rygel.conf, de modo que la línea con el parámetro enable-transcoding se vea así:

enable-transcoding=false

Luego cargue los módulos DLNA y TCP e inicie rygel:

$ pactl load-module module-http-protocol-tcp
$ pactl load-module module-rygel-media-server 
$ pactl load-module module-null-sink sink_name=upnp format=s16be channels=2 rate=44100 sink_properties="device.description='DLNA/UPnP Streaming' device.bus='network' device.icon_name='network-server'"
$ rygel

En su dispositivo Android, descargue la aplicación BubbleUPnP. Sus dispositivos de salida de pulseaudio aparecerán debajo del servidor "Sonido al% HOSTNAME%". Dirija la salida de su computadora al dispositivo DLNA en las preferencias de sonido. Seleccione el mismo resultado en BubbleUPnP.

Tenga en cuenta que BubbleUPnP transmite los primeros 30 minutos de forma gratuita. La versión completa cuesta 3,49 €, pero supongo que vale la pena el precio. No obtuve ninguna otra aplicación que funcione para mí.

Finalmente, puede deshabilitar el navegador de medios si no le gusta con las preferencias de rygel:

$ rygel-preferences

Un heads-up más: esto transmite directamente datos LPCM sin formato, que son constantemente ~ 250 kB / s. Cualquier actividad WLAN espuria inducirá la tartamudez si estás en cualquier cosa que no sea una red 802.11 n. Si planea basar sus soluciones de entretenimiento en la transmisión inalámbrica, considere comprar un enrutador n inalámbrico.

SEGUIMIENTO: TRANSCODIFICACIÓN

Para reducir los gastos generales y el tartamudeo de la red (lo que sucederá a menos que esté en una red 802.11 n), es posible pasar a la transcodificación de la transmisión de audio a mp3.

Pegue esto en ~ / .config / rygel.conf

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Sound on @HOSTNAME@
mypulseaudiosink-mime=audio/mpeg
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! lamemp3enc target=quality quality=6

Utilice el servicio DLNA "Gst Launch" que ahora aparecerá cuando inicie rygel.

SEGUIMIENTO 2: FLAC

LAME puede causar hasta 2 minutos (!) de retraso. FLAC, por otro lado, es bastante rápido, normalmente marcando por debajo de un segundo. Cambie las líneas en el ejemplo anterior a:

mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc quality=8

Esto reduce la transmisión a aproximadamente 100 kB / s, lo que permite una reproducción fluida en la mayoría de las redes 802.11g con múltiples usuarios. Lo probé mientras descargaba un torrente. A toda velocidad, hubo algo de tartamudeo, pero cuando limité la velocidad de descarga a alrededor de 200 kB / s por debajo de mi ancho de banda máximo, volvió a ser suave.

Además, eliminó cualquier pérdida de calidad.

Algunos de los problemas anteriores: compruebe y edite ~/.config/rygel.conf en su lugar, /etc/.config/rygel.conf si no está cargado de forma predeterminada (?).

La creación del receptor no funcionará en versiones posteriores de Ubuntu.

Lo que funcionó para mí, sin embargo, es seguir todas las instrucciones (sin la creación del fregadero). Luego ejecute paprefs , y en la pestaña "Servidor de red", seleccione la opción inferior "Hacer que los dispositivos de sonido locales estén disponibles como servidor uPnP" (y tal vez también se requiera la subopción).

Inicie rygel y seleccione la nueva opción "Streaming DLNA / UPnP" en la configuración de PulseAudio.

En BubbleUPnP selecciona "Gst Launch" como Biblioteca. En la aplicación, seleccione Biblioteca y ahora debe haber una opción en la parte superior llamada "Sonido activado".

    
respondido por el Karol Trojanowski 30.01.2012 - 14:59
1

Shairplay no admite TCP y raop_play (creo que pulseaudio-module-raop se basa en esto) no es compatible con UDP. Por qué Raop es TCP solo es extraño, UDP parece ser un protocolo más fácil y adecuado.

Y si tu fuente es flac, icecast a través de MP3 va a matar la calidad, además es más un cerdo de CPU. MPD admite nativamente la salida de pulseaudio para que pueda "encender y apagar" diferentes salas de la casa usando, p. Ej. un teléfono Android con la aplicación mpdroid. Si pudieras usar los muelles de Airplay como puntos finales, tendrías una configuración fantástica. ¡Pero no se puede cos raop no es compatible con los puntos finales UDP más simples!

    
respondido por el Stephen 07.12.2011 - 21:07
1

Es posible que desee buscar fuera de la comunidad de Pulseaudio.

Estoy probando Subsonic para hacer esto. Ha funcionado bien hasta ahora. Lo he instalado en mi sistema Ubuntu, mi sala de estar Roku, en mis teléfonos Android principales y en mi teléfono Android secundario, que es solo wifi. Todos estos dispositivos están conectados a través de wifi. También estoy planeando instalarlo en una máquina con Windows, para que mi esposa pueda transmitir su colección de iTunes a otros dispositivos.

Ahora puedo transmitir audio y video desde mi sistema Ubuntu a mi Roku en la sala de estar, o mi Android, que puedo llevar a la cocina o doblar la ropa. También puedo transmitir desde cualquier computadora que tenga un navegador web. Transmitimos música y podcasts mientras trabajamos en proyectos de mantenimiento prolongados y aburridos.

Hasta ahora ha funcionado bien.

    
respondido por el Stefan Lasiewski 30.01.2012 - 20:05
0

Puede usar Foobar2000 en el servidor y BubbleUPnP (payware) ) en el cliente.

  1. obtener vino
  2. obtenga foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. siguiente, siguiente, siguiente ...:)
  5. obtenga foo_upnp
  6. extrae en la carpeta de componentes de foobar2000 (que probablemente está en ~/.wine/drive_c/Program Files/ )
  7. inicia foobar2000
  8. vaya a Biblioteca → Configurar → Reproducir → Salida → Dispositivo y seleccione "Salida nula"
  9. asegúrese de que ufw no esté bloqueando el tráfico relevante
  10. en BubbleUPnP:
    1. vaya a Dispositivos → Bibliotecas y seleccione el servidor foobar2000
    2. en "Biblioteca", selecciona "Playback Stream Capture"

Este enfoque tiene la ventaja de que si hace una pausa en Android, acumulará un búfer (ya que el servidor todavía está enviando).

Probado en Ubuntu (versión de vino 1.5.28-0ubuntu1~ppa1 , foobar2000 versión 1.2.5 y foo_upnp versión 0.99.46) y Windows.

    
respondido por el Janus Troelsen 03.05.2013 - 19:58

Lea otras preguntas en las etiquetas