这是假设播放NSArray中的所有歌曲,但它只播放一个并停止播放。我究竟做错了什么?该数组包含一大堆指向不同.mp3格式化歌曲的链接。循环播放NSArray
NSArray *array = [myString componentsSeparatedByString:@"\n"];
int nextTag = 1;
for (soundPath in array) {
NSURL *url = [NSURL URLWithString:soundPath];
asset = [AVURLAsset URLAssetWithURL:url options:nil];
yourMediaPlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
yourMediaPlayer.controlStyle = MPMovieControlStyleNone;
yourMediaPlayer.currentPlaybackTime = 0;
yourMediaPlayer.shouldAutoplay = FALSE;
[yourMediaPlayer play];
nextTag++;
}
1.由于您使用的快速列举你不需要保证指数的跟踪,这是我认为'nextTag'所做的。 2.每次迭代创建一个新的'MPMoviePlayerController'并加载一首新歌曲,而不管歌曲是否完成播放。 – jcm
@jcm所以你说的是我应该从循环中移除MPMoviePlayerController并将它放在它之外?如果我这样做,那么音乐仍然只会播放一次。 –
另外,在加载下一首歌曲之前,您并未等待歌曲完成。 – jcm