我在plist中播放了一些歌曲,并想用AVAudioplayer一个接一个地播放它们。 但是,当第一首歌曲结束时,它停止。如何用下一首歌曲开始播放? 我已经尝试了一个循环来计算plist中的下一个数字,但它不起作用。玩家在第一轮后停止。这应该很简单,但如何? 这是我的代码的一部分。像我一样可以使用循环吗?如何播放AVAudioplayer中的多个文件
NSString *soundsPath = [[NSBundle mainBundle] pathForResource:@"soundslist"
ofType:@"plist"];
soundsList = [[NSArray alloc] initWithContentsOfFile:soundsPath];
for (int n = 1; n<=5;n++) {
NSString *filename = [soundsList objectAtIndex:n]; //n is number in plist, counting upwards in a for...loop
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"au"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path];
sound = [[AVAudioPlayer alloc] initWithContentsOfURL : fileURL error:nil];
sound.delegate = self;
}
地方audioPlayerDidFinishPlaying方法和使用该方法增加歌曲的逻辑。 – skyline 2013-03-28 09:18:18
可能的重复http://stackoverflow.com/questions/8102201/how-to-play-multiple-audio-files-in-a-row-with-avaudioplayer – 2013-03-28 09:25:24
我试图把n ++放在audioPlayerDidFinishPlaying中,但下次运行它时它从头开始。现在我有了我在viewDidLoad中编写的代码,是吗?我如何知道Audioplayer已停止?我有一个播放按钮,并假设歌曲结束时它已停止播放?猜猜这里有什么东西丢失 – 2013-03-28 09:44:56