Pregunta

Tengo una cola de audio que tengo de juego, detener, hacer pausas correctamente, pero estoy encontrando la función AudioQueueStop () estar tomando mucho tiempo para ejecutarse.

Me gustaría que parar inmediatamente y luego reiniciar la reproducción de audio y una cola se preguntaba lo que la forma más rápida de hacerlo sería.

En mi proyecto tengo varias colas de audio que guardo en torno a reproducir sonidos específicos y otra vez. Hay una situación en la que debo dejar de algunos de esos sonidos e inmediatamente después reproducirlos y muchos más a la vez. No es tan malo si sólo hay un par de colas de audio que hago esto a pero comienza a tomar un largo tiempo si hay muchos que necesito parar y reiniciar.

pude fingir llamando parada en una cola de audio y luego crear una nueva con el mismo sonido, pero se preguntaba si había una mejor manera de hacerlo.

¿Fue útil?

Solución

AudioQueue puede ser un poco incómodo para ese tipo de cosas. Es difícil detener el mediados de búfer de colas y que mediante el búfer seguirá desempeñando. Además, usted tiene que tratar con los problemas de latencia.

Para parar la reproducción rápida y con baja latencia, te aconsejo usar el RemoteIO AudioUnit.

Se puede encontrar un gran tutorial con el código aquí:

El uso de la unidad de audio RemoteIO

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top