【发布时间】:2012-01-12 18:02:37
【问题描述】:
我有一个应用程序,它下载 mp3 文件的 URL 列表,然后使用 MPMoviePlayerController 播放它们。
我在应用委托中有以下内容:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
当我将应用程序置于后台时,它会继续播放当前曲目。然后当 MPMoviePlayerPlaybackDidFinishNotification 发生时我会收到通知,然后,在 MPMovieFinishReasonPlaybackEnded 的情况下(因此成功),我正在尝试播放下一个 URL。但是它不起作用。什么都没有发生。
但是,如果此时我将应用程序带回前台,则播放会正确恢复。就像 MPMoviePlayerController 在后台无法开始播放新 URL,但在回到前台时它会正确恢复。
这是播放的代码(在回调中):
self.moviePlayer.contentURL = aUrl;
[self.moviePlayer play];
你知道为什么会这样吗?
顺便说一句,它发生在 iOS 4.3.3 上(我的一些测试人员告诉我它也发生在 4.2.8 上),但是在 iOS 5 上它似乎可以工作(我自己做了一些测试并且它工作了,但是我仍然需要与测试人员核实)。
提前致谢!
【问题讨论】:
标签: ios