Pregunta

¿Cuál es la diferencia entre OpenAL y AVAudioPlayer en el iPhone? Parece que ambos pueden ser utilizados para la reproducción de audio / grabación. ¿Cuándo utilizar? ¿Qué ventajas / características tiene proporcionan cada uno?

Gracias! -MT

¿Fue útil?

Solución

OpenAL es un motor de reproducción de audio avanzada. Usted tiene que conseguir mucho más "abajo y sucio" con él que lo hace con reproductor AVAudio.

OpenAL se utiliza a menudo en los juegos. OpenAL 3D proporciona posicionamiento del sonido que es donde cosas como parámetros relacionados con la distancia entran en juego. Es una API basada en C mientras AVAudio es C. Objetivo Si usted no sabe a medio programación C avanzado que se va a luchar con la programación OpenAL.

AVAudioPlayer es mejor si sólo necesitas la reproducción y la grabación básica. Si necesita más control que OpenAL o colas de audio es el camino a seguir (aunque audio colas son también una API basada en C). Muchas personas parecen preferir OpenAL sobre las colas de audio, ya que es una biblioteca multiplataforma y funciona de forma similar a la que los programadores de juegos OpenGL son ya bastante familiarizado.

En la mayoría de los caes fuera de juego o situaciones avanzadas de sincronización de audio, AVAudio es el camino a seguir y funciona muy bien. Incluso en los juegos, estoy viendo la gente suele utilizar una combinación de OpenAL (para efectos de sonido) y AVAudio (para reproducción de música).

Otros consejos

OpenAL proporciona más control si desea cambiar los parámetros de audio como la reproducción relacionada con la distancia, a base de golpeteo. AVAudioPlayer es un ser bastante básico, pero se puede lograr similar con AudioQueues y AudioUnit utilizando la API de bajo nivel. En pocas palabras, OpenAL hace algunas cosas con el chasquido de los dedos pero de nuevo, necesita lo que usted está mirando? Espero que esto ayude.

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