我有一个 MPMoviePLayerController,它可以从解析为数组的 xml 播放列表中连续 http 流式传输音频文件。
问题是当一首歌曲正在播放时,手机被锁定,它继续播放歌曲,支持背景音频等等,直到歌曲结束....但是打电话时:
- (void) moviePlayBackDidFinish:(NSNotification*)notification {...}
我调用函数来加载下一首曲目
- (void) LoadTrack:(int)indexToPlay {
//use the generic APIContentObject.
APIContentObject *currentTrack = [playlist objectAtIndex:indexToPlay];
NSLog(@"%@",[currentTrack SluggedURL]);
//get url
NSURL *url=[NSURL URLWithString:[currentTrack FileURL]];
//moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
if (!moviePlayer){
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
}else{
//moviePlayer = nil;
//moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
//moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
//[moviePlayer initWithContentURL:url];
[moviePlayer setContentURL:url];
moviePlayer.shouldAutoplay = YES;
[moviePlayer prepareToPlay];
[moviePlayer play];
}
...
它不会加载曲目并在输出中为我提供以下信息:
[MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
正如您从注释行中看到的那样,我尝试了多种方法来解决这个问题。其中没有一个真正播放下一首歌曲。是因为背景音频需要恒定流吗?我不能这样做吗?
我们有一个 CMS,用户可以在其中更改他们的播放列表,因此它需要在后台进行 mp3->-mp3 桥接。
播放当前歌曲很好,但为什么不加载新歌曲?
还是网络请求不被视为“背景音频”的一部分?
非常欣赏它。