2009-04-04 18 views
5

Estoy desarrollando un juego para iPhone y actualmente estoy usando AVAudioPlayer para reproducir música de fondo y sonidos. Por lo que he estado leyendo, no estoy seguro de si esa es la mejor manera, pero otras alternativas parecen ser demasiado complejas.¿Algún buen framework de administrador de sonido de iPhone?

¿Hay algún buen marco de código abierto que funcione en el iPhone y pueda integrarlo? Solo necesito controlar el volumen y activar los sonidos en función de los diferentes eventos del juego.

Aclaración: AVAudioPlayer satisface mis necesidades para reproducir un sonido, pero me gustaría una clase de contenedor donde pueda configurar múltiples sonidos y hacer que jueguen en función de alguna clave.

Respuesta

3

No está claro en su mensaje si AVAudioPlayer satisface sus necesidades. Por un lado, no mencionaste las deficiencias que has encontrado, pero por otro lado, tu pregunta por alternativas sugiere que hay algunas.

Si AVAudioPlayer satisface sus necesidades, ¿por qué hacer la vida difícil?

Si AVAudioPlayer no satisface sus necesidades, necesita explicar qué más necesita antes de que alguien pueda hacer otra cosa que adivinar lo que está buscando.

+0

AVAudioPlayer satisface mis necesidades, pero es útil solo para reproducir un sonido. Me gustaría un contenedor donde pueda configurar varios sonidos y hacer que jueguen en base a diferentes eventos. Antes de codificarlo yo mismo, me preguntaba si había una alternativa. – pgb

2

El motor de sonido que Apple incluye en su aplicación de código de muestra Moon Lander permite reproducir varios sonidos a la vez y todo.

+0

Este código de ejemplo ya no está incluido en SDK 2.2. ¿Sabes si hay una razón por la cual lo sacaste? – pgb

2

Puede usar AVAudioPlayer. Cada uno de tus sonidos será una instancia diferente de esa clase. Mantenga todos los sonidos (jugadores) en un diccionario o una matriz. Luego puede jugar fácilmente indexando la matriz o recibiendo una clave del dict. Cada sonido puede tener su propio volumen, o puede iterar la matriz o dict para establecer todos los volúmenes a los niveles que desee.

Un par de puntos para recordar: 1. si tiene que reproducir los sonidos de manera oportuna, entonces use el método -prepareToPlay justo después de cargar desde el archivo. 2. si detiene un sonido, entonces -prepareToPlay se deshace. Si pausa un sonido, antes de volver a reproducirlo, asegúrese de establecer la propiedad CurrentTime en 0 para que el sonido comience desde el principio.

Cuestiones relacionadas