Pregunta

He llegado al punto en el que quiero jugar algunas muestras en mi juego / aplicación. Mi instinto dice que el uso de OpenAL ... voy a tener la situación en la que tendrá que jugar varias muestras a la vez (sin embargo no más de 2 o 3) y las muestras serán cortas (2 o 3 segundos).

Mi pregunta es ¿cuál es la mejor manera de jugar muestras en el iPhone, dado que los criterios?

¿Fue útil?

Solución

Este es un fragmento de código de ejemplo que estoy utilizando:

primera opción:

he definido esto en mi archivo .h

SystemSoundID topClick;

Y en mi archivo .m lo firest carga el sonido (AIFF):

NSBundle* bundle = [NSBundle mainBundle];
NSString *topClickFile = [bundle pathForResource:@"top_click" ofType:@"aiff"];

A continuación, cuando quiero reproducir el sonido, yo uso:

AudioServicesPlaySystemSound(topClick);

segunda opción:

También es posible usar el AVAudioPlayer (disponible desde el firmware 2.2 creo):

NSString *graffitiSprayFile = [bundle pathForResource:@"sound_effect" ofType:@"aiff"];
AVAudioPlayer* sprayAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:graffitiSprayFile] error:NULL];
sprayAudio.delegate = self;
[sprayAudio prepareToPlay];
[sprayAudio setNumberOfLoops:999];

La primera opción es muy útil para el efecto de sonido relativamente corto.

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