Я собирался напечатать ответ, но гугл дает очень хороший ответ:
http://www.iphonedevsdk.com/forum/iphone-sdk-development/27285-play-sequence-audio-files-avaudioplayer.html
Первый фрагмент кода на странице просто вызовет все звуки вsequence:
- (void)playSoundSequence {
// Make array containing audio file names
NSArray *theSoundArray = [NSArray arrayWithObjects:@"one",@"two",nil];
int totalSoundsInQueue = [theSoundArray count];
for (int i=0; i < totalSoundsInQueue; i) {
NSString *sound = [theSoundArray objectAtIndex:i];
// Wait until the audio player is not playing anything
while(![audioPlayer isPlaying]){
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:sound ofType:@"wav"]] error:NULL];
self.audioPlayer = player;
[player release];
[audioPlayer setVolume:1.0f];
[audioPlayer play];
//Increment for loop counter & move onto next iteration
i++;
}
}
}
Но вам, вероятно, лучше использовать AVAudioPlayerDelegate:
Если вы не хотите ждать в цикле, вы также можете сделать свой контроллерAVAudioPlayerDelegate и реализовать
Код:
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
Это будет вызвано, когда будет достигнут конец аудиофайла, после чего вы начнете воспроизводить следующее аудиофайл.audioPlayerDidFinishPlaying будет вызываться снова, когда тот завершит воспроизведение, и вы начнете следующий после этого и т. д.