按照本章中的指南在支持的??iPad上使用画中画(PiP)。要使视频播放支持画中画模式,请确保您的Xcode项目和App配置如下:将BaseSDK设置为“LatestiOS”,请参考App设置BaseSDK章节中的说明发行指南。在Capabilities中勾选项目的target,勾选BackgroundModes的Audio和AirPlay。(在未来的Xcode更新中,此选项将被命名为音频、AirPlay和画中画)。确保您的应用程序的音频会话使用适当的类别,例如AVAudioSessionCategoryPlayback。接下来,为视频播放选择合适的AVKit、AVFoundation或WebKit类服务。选择取决于应用程序的性质和您要提供的用户体验。AVKit框架提供了AVPlayerViewController类,自动为用户显示画中画按钮。如果您使用支持PiP功能的AVKit,但想要选择退出特定的画中画视频,请将播放器视图控制器的allowsPictureInPicturePlayback属性设置为NO。AVKit还提供了AVPictureInPictureController类,可以与AVFoundation框架的AVPlayerLayer类一起使用。如果您想为视频播放提供自己的视图控制器和自定义UI,请使用此方法。如果您支持画中画方式,但又想退出特定的视频画中画功能,请不要将视频AVPlayerLayer与AVPictureInPictureController对象相关联。只要用播放层实例化一个画中画控制器,播放视频层就会有画中画功能;选择退出的方式不会执行实例化。WebKit框架提供了WKWebView类,它支持iOS9的PiP功能。如果你使用WebKit支持PiP功能,但又想为特定视频选择退出画中画。将关联的Web视图实例的allowsPictureInPictureMediaPlayback属性设置为NO。(此属性在iOS9的未来beta版本中可用。)如果您有一个旧应用程序使用已弃用的MPMoviePlayerViewController或MPMoviePlayerController播放视频,那么您必须采用先进的iOS视频播放框架来支持画中画。重要提示:苹果希望画中画功能始终由用户控制,只响应用户对画中画功能的明确请求。尤其是在退到后台时,应用无法立即响应用户调用画中画功能,这样的应用会被应用商店拒绝。当用户按下主页按钮或触发将他们带到另一个应用程序的通知时,iOS9会自动将全屏视频切换为画中画播放。在视频播放中使用该功能的要求如下:使App支持本章描述的画中画功能。使用视图的视图填充窗口的边界以全屏播放视频。Tips:用户可以通过设置>通用>多任务>持久视频叠加来关闭画中画的自动唤醒。如果您认为您已设置好所有内容,但发现当您按下主页按钮时您的视频不会进入画中画模式,请检查此设置。当应用播放的视频切换为画中画播放时,系统将管理视频内容的渲染,而您的应用将继续在后台运行。当您的应用程序在后台运行时,请确保丢弃不需要的资源,例如视图控制器、视图、图像和数据缓存。在这种情况下,您希望执行适当且必要的操作,例如视频合成、音频处理、下载接下来播放的内容等,但您必须注意尽可能少地消耗资源。如果您的应用程序在后台消耗过多资源,系统将终止它。
