Pregunta

Estoy intentando reproducir un archivo de audio muy pequeña. - Es 0.05s más o menos de longitud, y es un archivo .wav sin comprimir

Rgiht ahora, estoy usando AVAudioPlayer para reproducir el sonido.

tengo la intención de reproducir el sonido con gran rapidez junto con una ruleta, al estilo de El precio es correcto o Rueda de la Fortuna. Si una instancia del AVAudioPlayer con un recuento de bucle de 100, que juega de hecho el sonido muy rápidamente a medida que cabe esperar.

Si ejecuto [audioPlayer play] en cada 'tick' de la ruleta, sin embargo, el audio cae terriblemente atrás. Mi conjetura es que, a diferencia de establecer un número alto de bucle, [audioPlayer play] requiere una instalación completa y el desmontaje de la memoria del clip de audio para cada reproducción.

¿Hay alguna manera de forzar el clip de permanecer establecido en la memoria para una mayor duración? Es un sonido muy frecuentes, y como tal, también estaría bien con mantenerla durante toda la tirada aplicación.

¿Fue útil?

Solución

Si depende de la sincronización más precisa, es posible que desee intentar usar una de las otras API de sonido. Unidad de audio RemoteIO es complicado, pero permite la sincronización más precisa de la reproducción de sonidos sin comprimir. OpenAL y audio colas son otras dos opciones.

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