配列に解析されるxmlプレイリストからオーディオファイルを連続してストリーミングするMPMoviePLayerControllerがあります。
問題は、曲が再生されているときに電話がロックされ、曲が再生され続け、バックグラウンドオーディオがサポートされ、曲が終わるまですべてが再生されることです。
- (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ブリッジを使用する必要があります。
現在の曲を正常に再生しますが、なぜ新しい曲をロードしないのですか?
または、ネットワーク要求は「バックグラウンドオーディオ」の一部とは見なされませんか?
感謝します。