2010-11-19 53 views
4

我在iPhone上开发了一个应用程序,使用MPMoviePlayerController播放音频文件。 当应用程序进入后台时,如果mpmovieplayer正在播放,iphone将继续播放当前音乐,但当它结束时,下一首曲目不会启动。MPMoviePlayerController多任务处理问题

我尝试启动MPMoviePlayerPlaybackDidFinishNotification中的下一个音频文件,并且当我使用调试器跟踪代码时,我可以看到该方法被调用并执行代码,bat下一个音频文件仍然无法启动。

这是可能在iOS 4.1或这是一个限制?

问候 萨曼莎

回答

2

你应该阅读Technical Q&A QA1668如何在后台播放音频用的MPMoviePlayerController

总结的步骤需要:

  • 宣告你的应用程序支持音频
  • 后台执行指定适当的类别到您的音频会话(默认类别也不行)
+0

谢谢您的回复添加,但我已经知道了Q&A与我竟然可以播放媒体文件时,应用程序是在后台。我的问题出现时文件结束,我需要播放另一个没有返回到应用程序。 – Samantha 2010-11-19 12:55:54

+0

你能否提供你所做的更多细节。也许有些代码?这将有助于减少搜索。 – Guillaume 2010-11-19 15:55:01

+0

@Samantha:你是否得到了这个问题的解决方案,如果是的话,请发布解决方案,因为我也面临同样的事情 – Yogi 2012-05-23 07:43:41

2

我通过在委托文件中放置以下两行来获得它的工作:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[[AVAudioSession sharedInstance] setActive: YES error: nil]; 
+0

你把它放在哪里?这对我不起作用。 – 2011-07-31 16:08:20

+0

请注意,这似乎不能在模拟器上工作,但在设备上工作 - 让我困惑。 – Andrew 2012-07-07 04:19:09

+0

辉煌,谢谢!只需在您的播放方法中放入行,导入AVFoundation,然后就可以开始了。 – brainray 2013-10-18 18:41:04

0

可能是你忘了在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    }