在Airplay上后台播放UIWebview中的视频

4
我有一个应用程序,可以在UIWebView中播放多个Web视频,例如Youtube和Vimeo。当视频播放时,可以通过AirPlay将其发送到Apple TV。
目前,在AirPlay播放期间,当我暂停应用程序并将其移至后台时,视频会停止播放。
我的期望结果是视频将继续在Apple TV上播放。
经过一些研究,我发现必须在Info.plist中设置“所需的后台模式”为“应用程序播放音频”。不幸的是,这并没有起作用。
那么,需要设置什么才能使视频在应用程序移至后台时继续在AirPlay上播放呢?

我只是简单地设置了 webView.mediaPlaybackAllowsAirPlay = YES;Required background modes 为 YES,然后它就可以工作了。你做了什么不同的吗? - BabyPanda
我将 mediaPlaybackAllowsAirPlay 设置为“是”,并将所需的后台模式设置为“应用程序播放音频”。但是,当我将应用程序置于后台时,它仍会停止播放。 - Wienke Giezeman
好的,我现在在iOS 5上测试了一下,结果就像上面描述的那样。但是在iOS 6上不起作用。难道iOS 6需要更多其他的设置吗? - Wienke Giezeman
我只在iOS6上测试过这种方法,它可以正常工作。但是它似乎会影响UIWebView,也许你可以查看Required background modes iOS6 Xcode 4.5,其中提到了这个 - BabyPanda
1个回答

6

我已经在使用UIWebView加载视频网页时,在iOS6上测试过这个,并且它可以正常工作。为了在后台播放音频,需要将音频会话设置为AVAudioSessionCategoryPlayback

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

谢谢!将音频会话类别设置为“AVAudioSessionCategoryPlayback”就足以使UIWebView中的视频正常使用AirPlay。即使设备进入睡眠状态,视频仍然可以在Airplay上播放。默认情况下,“mediaPlaybackAllowsAirPlay”属性为YES。 - Dhiraj Gupta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接