【问题标题】:MPMoviePlayerController doesn't play the next URL when in backgroundMPMoviePlayerController 在后台时不播放下一个 URL
【发布时间】: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


    【解决方案1】:

    最后,iOS 4 background HTTP Live Stream 的修复也适用于我。

    一旦我将MPMoviePlayerController 的属性useApplicationAudioSession 设置为NO,它就开始工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多