Envíe la salida de audio de MacBook a iPhone para escuchar de forma remota

¿Es posible enviar audio de música en iTunes, o de películas en Netflix, o sonidos de videojuegos, etc., desde mi MacBook y recibir y escuchar el audio en mi iPhone? Estoy pensando en que esto funcione como auriculares inalámbricos, excepto con un cable muy largo. Si hay alguna manera, ¿podría decirme cómo funciona la solución? Estoy interesado en crear mi propio script/aplicación para hacer esto si no es demasiado desalentador.

Si es importante, estoy ejecutando una vieja MacBook 2009, ejecutando Snow Leopard.

Caramba, ¿en qué año vives si un 20009 es viejo? ¡Eso es 18,000 años en el futuro! ;)
Me alegro de que hayas podido hacer ese comentario antes de que lo editara, @GraemeHutchison :).
¿Ha habido algo nuevo desde 2011?
Esto es muy tonto, pero reproduce lo que quieras en ambos dispositivos al mismo tiempo y solo escucha... Con suerte, la aplicación de iPhone que estás usando para escuchar puede estar en segundo plano...

Respuestas (6)

Aquí hay una pequeña solución que utiliza los programas de código abierto Soundflower, VLC y SoX.

En primer lugar, debe instalar los programas necesarios usando Homebrew:

brew install sox
brew install --cask soundflower vlc

Elija el dispositivo Soundflower (2 canales) en la configuración del sistema para la salida de sonido de modo que pueda reenviarse a un servidor VLC que configuraremos a continuación. (Tenga en cuenta que esto silencia los altavoces internos/conector de auriculares). Al marcar "Mostrar volumen en la barra de menú", también puede cambiar el dispositivo de salida haciendo clic con la tecla Alt en el elemento de la barra de menú de manera más conveniente.

Ajustes de sonido

Ahora, ejecute el servidor VLC:

sox -t coreaudio "Soundflower (2c" -t mp3 -C 96 -q - | \
  vlc - --sout "#standard{access=http,mux=ogg,dst=localhost:8080}" --intf dummy

Puede adaptar la calidad y la tasa de bits con el -Cconmutador (consulte la documentación de SoX ). Quitar -qpara obtener información visual sobre si se está reproduciendo el sonido.

Finalmente, en su dispositivo iOS, instale el cliente iOS VLC . En el menú lateral, elija Network Stream e ingrese http://[YOUR-LOCAL-IP]:8080para iniciar la transmisión.

Advertencias: esta configuración no es adecuada para aplicaciones en tiempo real como juegos o chat porque hay un retraso de ~2 segundos. Sin embargo, se puede usar para ver videos en VLC cambiando la pista de sonido para tener en cuenta el retraso (Ventana> Sincronización de pistas).

¡una gran solución! Gracias. Se recomienda incluir: brew update-reset && brew update antes de iniciar la instalación
¿No se brewactualiza automáticamente al instalar algo? Por cierto, se me acaba de ocurrir que uno podría acceder a un dispositivo de entrada de audio (Soundflower en este caso) directamente desde VLC usando qtsound://como se describe aquí . De esta forma se podría evitar SoX como programa adicional de captura de sonido.
@RobinDinse, ¿podría compartir un tutorial para evitar SoX? Gracias.
genial, solo una actualización sobre brew: 'Error: brew caskya no es un brewcomando. Úselo brew <command> --casken su lugar." Por lo tanto, debe usar 'brew install soundflower --cask'

Sí, con Airfoil para Mac (también disponible para Windows ) y la aplicación complementaria Airfoil Speakers Touch , puede transmitir cualquier audio desde su Mac a su dispositivo iOS.

Yo mismo no lo he probado mucho, y las críticas son variadas, pero puedes probarlo gratis antes de desembolsar el dinero.

Esto también se puede usar para enviar audio desde una MacBook a un auricular bluetooth conectado a un dispositivo iOS. Algo que es muy difícil de otra manera.

Esta solución funcionó, aunque para aplicaciones en vivo, como ver una película en Netflix, el audio se retrasó lo suficiente como para ser molesto. Quizás profundice en la API de Core Audio y vea si puedo encontrar algunas herramientas allí.
¿Sigue siendo Airfoil el mejor?
Definitivamente funciona con Airfoil, pero personalmente no era fanático de pagar 25 $ solo por una solución en la configuración que no estoy seguro de volver a usar después de esto. Y en serio, no soporto el 'oye, úsame-soy-libre-pero-te-molestaré-después-de-15-min-de-freeriding' política..
La principal desventaja de Airfoil es un retraso significativo, generalmente de unos 2 segundos. No importa solo escuchar música, pero el audio de Skype o Netflix estará completamente desincronizado con el video.

No me apetecía pagar Airfoil; además, sospecho un poco de no poder usar todas las fuentes de audio en la Mac.

En su lugar, estoy usando Airphones (ELIMINADO - la aplicación ya no está disponible)

Votado a la baja, porque Airphonesapp.com ahora muestra un sitio pornográfico. ¡NSFW!
Justo. Editado...

De manera similar a la respuesta de @Robin, puede usar el controlador de audio virtual BlackHole , que funciona en las versiones más nuevas de MacOS. Una forma más sencilla de hacer streaming es usar ffpmeg(por ejemplo, brew install ffmpeg). Luego, dirija su salida de audio al controlador BlackHole (selecciónelo como dispositivo de salida, o inclúyalo como parte de un dispositivo agregado) y descubra a qué número de salida va:

ffmpeg -f avfoundation -list_devices true -i ""

Luego use el número de dispositivo de audio de AVFoundation (p. ej., 5) para transmitir el audio your_device(puede usar your_device.local o su dirección IP):

ffmpeg -f avfoundation -i "none:5" -acodec mp3 -f rtp  rtp://your_device:1234

Para escuchar en su_dispositivo, use el cliente VLC (por ejemplo, en un iPhone/iPad/MacBook) y vaya a Red->Abrir flujo de red y toquertp://@:1234

Esta es una gran solución, pero parece que VLC avfoundation detiene la transmisión de audio después de unos segundos. Encontré problemas relacionados aquí forum.videolan.org/viewtopic.php?t=145520 , y parece estar relacionado con IOS: code.videolan.org/videolan/VLCKit/-/issues/350

Usé Airfoil y pude transmitir música desde iTunes (en un iMac con OSX Mavericks 10.9.1) a mis iDevices.

Admito que el precio de $25 no era algo que me gustara.

Sin embargo, funciona. Puede reproducir música de iTunes en su computadora portátil y escuchar simultáneamente la música en su iPhone de forma remota.

Puede hacer que toda la casa reproduzca la misma música a través de varios altavoces: su computadora portátil, su iPhone y quizás un imac o ipad.

Para mí, el precio de $ 25 es un poco más fácil de digerir que comprar un Apple Airport Express de USD $ 94 más parlantes para conectarlo al Airport Express.

Además, el Airport Express solo tiene un puerto de conector de audio, por lo que un altavoz para un Airport Express.

Espero que esto ayude.

Usando la GUI de VLC:

  1. instalar y configurar Soundflower
  2. instalar VLC
  3. configure su salida de sonido al dispositivo de salida múltiple configurado para Soundflower (o directamente a Soundflower 2ch)

En VLC:

  • Archivo > Abrir dispositivo de captura
  • Marque "Audio" y seleccione Soundflower (2ch)
  • Marque "Salida de transmisión" y haga clic en "Configurar"

descrito arriba

  • Seleccione "Transmisión"
  • Tipo: HTTP
  • Dirección: su dirección IP local
  • Puerto: 8079 (o un puerto de su elección)
  • Método de encapsulación: Ogg (o algo más)
  • Marque "Audio" en las opciones de transcodificación
  • Seleccione "mp3" para audio (o algo más)
  • Seleccione 96 kbps para tasa de bits (o algo más)
  • Seleccione dos canales (o algo más)

descrito arriba

  • Presiona OK y luego abre la transmisión.
  • En su teléfono, abra VLC y vaya a la pestaña de red y abra la transmisión en

http://[your local ip]:8079

Desafortunadamente, esto parece no ser muy confiable. Una alternativa es navegar por Internet con Soundflower y dos cuentas de Discord, o algún otro método de llamadas de voz.