这假设播放NSArray中的所有歌曲,但它只播放一首并停止播放。我究竟做错了什么?该数组包含一大堆链接到不同的.mp3格式的歌曲。
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++;
}
答案 0 :(得分:2)
而不是尝试让MPMoviePlayerController
播放项目列表,而是使用AVQueuePlayer
。它有一个方便的advanceToNextItem
方法。
您可以使用AVPlayerItem
或initWithItems
创建已加载项目(类queuePlayerWithItems
)的播放器。然后只需在其上调用play
(继承自AVPlayer
),就应该一个接一个地播放这些项目。
请参阅: