相关疑难解决方法(0)

iOS5中的MPMoviePlayerController背景音频问题

我有一个应用程序执行非常标准的操作:当应用程序处于1)时播放音频(流式传输或文件系统)前景模式,2)屏幕锁定状态3)背景模式.这在iOS5之前的所有iOS中都运行良好.

我一直在使用MPMoviePlayerController(因为它可以播放流媒体和本地文件系统音频)我有以下设置:

  1. info.plist将后台模式设置为"音频"
  2. 我有Audiosession设置,如http://developer.apple.com/library/ios/#qa/qa1668/_index.html所示

    NSError *activationError = nil;
    AVAudioSession *mySession = [AVAudioSession sharedInstance];
    [mySession setCategory: AVAudioSessionCategoryPlayback error: &activationError];
    if (activationError) { /* handle the error condition */ }
    [mySession setActive: YES error: &activationError];
    if (activationError) { /* handle the error condition */ }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我启用了后台计时器,在音频播放结束时停止了UIBackgroundTaskIdentifier newId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];

  4. 我有Moveplayer的useApplicationAudioSession = NO
  5. 我订阅了以下事件来检测和处理各种播放状态,并在当前文件的末尾开始新的音频文件.MPMoviePlayerLoadStateDidChangeNotification MPMoviePlayerPlaybackDidFinishNotification MPMoviePlayerPlaybackStateDidChangeNotification MPMoviePlayerNowPlayingMovieDidChangeNotification

问题:

这样,音频开始播放,当应用程序进入后台状态或手机被锁定时,音频继续播放.但是,当我开始另一个音频文件后,我开始立即获得PlaybackDidFinishNotification,状态设置为播放结束(但文件从未播放过)

相同的代码以前台模式播放音频文件(当前音频文件结束后,下一个文件启动没有任何问题)

在iOS5中我有什么新东西可以让它工作吗?我通读了MPMoviePlayerController类引用,但我看不到iOS5的任何特定内容.

提前致谢.

mpmovieplayercontroller ios5

6
推荐指数
1
解决办法
3670
查看次数

标签 统计

ios5 ×1

mpmovieplayercontroller ×1