MPMoviePlayerController后台播放

时间:2015-06-01 12:43:55

标签: objective-c mpmovieplayercontroller avaudiosession

好的家伙我有问题。我是流MPMoviePlayerController,我希望它在后台播放音频,我有点实现了这一点。

这就是我在-didFinishLaunchingWithOptions:

中所做的
    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
    [audioSession setActive:YES error:nil];

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];

现在只要应用程序调用{​​{1}} 我发布帖子通知继续播放。这可行,但这是一个丑陋的修复。因为声音停止和被叫通知之间存在第二个延迟。因此播放停止一秒钟,然后通过调用刚才显示-applicationWillResignActive:

的通知再次继续播放

其他许多人都实现了流畅的背景播放。就像spotify或其他应用程序一样,无论何时进入后台模式,声音都没有声音滞后/削波。每当我按下主页按钮或锁定手机时,这听起来很烦人。

是的,我确实设置了播放的背景模式。

我也试过[viewPlayer play];,但这个通知速度更慢。它出现在-applicationDidEnterBackground:

之后

我不知道如何解决这个问题,以及其他人如何解决这个问题。我查看了几乎所有其他类似的问题。没有我的问题。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我最近使用frameworkUIView中内嵌YouTube视频。这个框架在MPMoviePlayerController上有一个类别很好。你注意到音乐在转到背景时会发生变化,但仍然可以接受。

该类别可在此处找到:

MPMoviePlayerController+BackgroundPlayback.h MPMoviePlayerController+BackgroundPlayback.m