iphone - mac - Transmitir audio desde iOS
duplicar pantalla iphone sin apple tv (5)
¿Cómo hago para transmitir audio desde un dispositivo iOS a otro dispositivo como un Mac u otro dispositivo iOS? Solo puedo encontrar soluciones como AirPlay en Google y nada sobre cómo hacerlo en tu propia aplicación. Supongo que tendrías que pasar por un servidor de algún tipo.
Para ser claros, no estoy buscando replicar AirPlay. Estoy buscando hacer VoIP muy básico.
Creo que un buen comienzo sería entender el antiguo ejemplo de CoreAudio: SpeakHere (graba y reproduce sonidos utilizando API de bajo nivel C. CoreAudio es uno de los ascendentes de AVFoundation)
Como dijo @DexterW, necesitará conocimientos de http://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AQRecord/RecordingAudio.html , etc.
Después de eso, puedes comenzar a pensar en los servidores / paquetes para transmitir a :)
Espero eso ayude.
Lo harías exactamente así:
https://drive.google.com/open?id=1tKgVl0X92SYvgpvbljRzilXNQ6iBcjqM
Ejecute esta aplicación en dos dispositivos iOS; conectará automáticamente ambos dispositivos a su red y comenzará a transmitir audio entre ellos.
La interfaz consta de un único componente de la interfaz de usuario, específicamente, un campo de texto en el que se registran los eventos de la aplicación. Hará que sea fácil entender la arquitectura de la aplicación.
Necesitas las últimas versiones de lanzamiento de Xcode 9 y iOS 11.
Hazme saber si tienes alguna pregunta.
Usted dice que no quiere usar AirPlay . Siguiendo con esto, deberá ejecutar su propio servidor en el dispositivo iOS. Esto es ciertamente posible, y hay aplicaciones que ejecutan varios servidores para diversas tareas. Sin embargo, no estoy muy familiarizado con el tema y parece que está en lo cierto al decir que no hay mucha información sobre esto en línea.
Dicho esto, sugeriría echar un vistazo a Darwin Streaming Server . Parece que es un poco viejo, pero es de código abierto y puede ser de utilidad para usted.
caso de uso crudo VOIP:
Paso 1. grabar audio con AV Foundation utilizando un codificador de compresión
Paso 2. Transmitir paquetes a otro dispositivo (es decir, RTP)
Paso 3. Decodifica y reproduce los paquetes de audio en el dispositivo remoto
Los casos de VOIP más complejos incluyen el descubrimiento de usuarios, el establecimiento de conexiones.
Estos enlaces pueden ayudarte a comenzar
EDITAR - 12 de agosto de 2011
No me di cuenta de que querías pasar de un dispositivo a otro con el audio. Siempre se puede usar CFNetwork y simplemente conectar en un dispositivo. El truco lo va a detectar. Busque en los servicios de bonjour también. Aún necesitarás usar AudioToolbox para procesar el audio en buffers ya través de Bonjour o un socket.
Edición final
@greg AVFoundation te ofrece cosas como AVAudioRecorder, pero no te deja transmitir paquetes como él quiere.
Echaría un vistazo a AudioToolbox. Si utiliza un AudioQueue, puede especificar un formato para la transmisión. Luego, agregue una devolución de llamada de la cola de entrada y obtendrá acceso a los paquetes en bruto de audio grabado.
Echa un vistazo a iLBC para un codec. Tiene una huella lo suficientemente pequeña como para permitirte hacer todo lo que sea más de 3 g
Aquí hay una gran referencia de Apple en la programación de AudioQueue: http://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AQRecord/RecordingAudio.html
¡Buena suerte!