Demora en la transmisión de audio
Estoy tratando de transmitir audio a través de un servidor. He configurado todo, y está trabajando muy bien con la grabación y reproducción de audio estático, pero cuando estoy tratando de transmitir un audio hay un retraso en el lado de juego.
Hice una búsqueda en Google, pero no pude encontrar la forma correcta de hacerlo. Estoy usando AudioRecord y el Audiotrack Android media API para enviar y recibir datos de audio. ¿Puede alguien decirme cómo manejar este retraso?
- Cómo obtener el tipo de contenido de ShoutCast 7.html
- ¿Qué debo usar aparte del paquete `javax.net.sampled` para manejar la transmisión de audio?
- Streaming de audio desde una URL en Android usando MediaPlayer?
- Transmisión de audio a través de socket TCP en Android
- Cualquier forma de acelerar este código. Streaming de audio en Android
He añadido mi código en GOOGLE GROUP para obtener una imagen clara .
Yo había intentado de esta manera, la celebración de 5 trozos de datos de audio en un búfer que viene a través del servidor y reproducir cuando se llena 5 trozos de datos y de nuevo obtener los próximos 5 trozos de datos de audio y llenarlo como que va hasta 1024 bytes De los datos (que escribe en el audiotrack y el método de juego se llama). Esto también tiene un retraso, cualquier otra solución?
- Enviar un audio de multidifusión en rtsp mediante el uso de libstreaming para la transferencia de un dispositivo android
- Grabación de audio en vivo y reproducción en Android y manejo de subprocesos y devolución de llamada
- ¿Puedo usar Firebase Storage para la transmisión de música en línea?
- ¿Es posible en Android registrar algo reproducido por MediaPlayer?
- Transmisión de audio a teléfonos móviles, ¿qué tecnología utilizar?
- Enviar audio grabado como entrada de micrófono
- cómo reproducir archivos de audio de url en android
- El comando de cambio de velocidad falla cuando el flujo de audio no está presente en el video - ffmpeg
Si realmente está intentando hacer esto unbuffered, asegúrese de que cualquier herramienta de reproducción que está utilizando está tratando de reproducirlo sin un búfer. Usted será presionado para no tener un retraso. Nada en la televisión, radio, etc. es realmente "vivo" – siempre hay algún tipo de retraso. Con los flujos de Internet, estás enviando una gran cantidad de datos constantemente. Incluso aparte del tiempo para que viaje, todos estos datos tienen que ser guardados en un orden particular y nadie quiere la reproducción entrecortada mientras el ordenador del usuario final intenta la reproducción. He tenido reproductores flash para las principales redes de mantener archivos masivos de caché en mi computadora mientras se maneja la reproducción, pero sus jugadores no saltar / esperar a buffer / etc. (Si cargas algo y observas que se usan unos 100 MB de memoria adicional, tal vez incluso más durante la reproducción, eso es lo que es.)
Usted podría ser capaz de salirse con un buffer muy pequeño (el estándar en el pasado solía ser de 30-60 segundos y muchos jugadores todavía predeterminado a esto) con VLC. He podido fijar su amortiguador muy bajo pero está encendido corrientes / videos increíblemente bajos de la calidad. El gran problema que tiene aunque supongo que su reproducción es la configuración de la memoria intermedia y si su reproducción está configurada a 60 segundos de búfer, no importa lo que haces serverside … el cliente final esperará hasta que tenga mucho De un pedazo y entonces comience la reproducción.