Pregunta

Tengo una pregunta rápida: estoy cargando un archivo mp3 en un objeto NSData y luego lo juego usando el AVAudioPlayer en mi juego. Cada segundo más o menos, la velocidad de fotogramas disminuye y puede ver un tartamudeo en la pantalla. No es una desaceleración importante, pero es claramente notable e interrumpe el juego. No reproducir la pista de música con AVAudioPlayer no muestra ninguna disminución de velocidad.

¿Cómo puedo evitar que esto suceda?

Gracias.

Florian

¿Fue útil?

Solución

Para referencia futura, aquí está la solución:

Establecer la categoría de sesión de audio en kAudioSessionCategory_AmbientSound (para permitir que la música del iPod se reproduzca simultáneamente) de alguna manera desactiva la aceleración de hardware MP3. Establecer la categoría de audio en kAudioSessionCategory_SoloAmbientSound corrige esto, pero no permite la reproducción del iPod. Ahora configuro la categoría de sesión de audio dependiendo de si la música de fondo está habilitada o deshabilitada para permitir la reproducción simultánea del iPod.

Otros consejos

El mp3 es un formato de audio codificado / comprimido. Puede intentar reducir la frecuencia de muestreo (por isancia, en lugar de 128 kb / s, intente 64 kb / s) o cambiar a un formato no codificado como pcm lineal. Las desventajas son: menor calidad de audio en el primer caso, mayor tamaño de archivo en el segundo. Pero esto puede ayudar a mejorar el rendimiento general de su aplicación.

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