iOS 9 分屏多任务:画中画(PiP)快速入门(中文版)

移动开发
本文由钢铁侠般的卿哥翻译自苹果官方文档:Adopting Multitasking Enhancements on iPad,主要讲述iOS 9中iPad的多任务处理功能,欢迎指正。

 28.png

依据本章的指南在所支持的iPad上使用画中画(PiP)。

45.png

想要让视频播放支持画中画模式,确保你Xcode项目和App配置如下:

  • 设置Base SDK为“Latest iOS”,请参阅 App Distribution Guide 的 Setting the Base SDK 章节描述。
  • 在Capabilities中查看项目的目标,将Background Modes的Audio and AirPlay勾选上。(未来Xcode更新,该选项被命名为Audio、AirPlay以及Picture in Picture)。
  • 确保你的应用程序的音频会话采用了适当的类别,如 AVAudiOSessionCategoryPlayback

下一步,为视频播放选择合适的AVKit、AV Foundation或WebKit的类服务视频播放。选择取决于应用程序的特性和你想要提供的用户体验。

如果你使用AVKit 支持PiP功能,但要退出特定的画中画视频,请将播放器视图控制器的 allowsPictureInPicturePlayback 属性设置为NO。

  • AVKit还提供了 AVPictureInPictureController 类,可以和AV Foundation 框架的 AVPlayerLayer 类一同使用。如果你想为视频播放提供自己的视图控制器和自定义用户界面,可使用这个方法。
  • 如果你支持画中画这种方式,但要退出特定视频画中画功能,请不要将视频的AVPlayerLayer与AVPictureInPictureController对象关联。只要你用播放层实例化一个画中画控制器,这个播放视频层就有画中画的功能;选择退出的方式不执行该实例化。

WebKit框架提供了 WKWebView 类,它支持iOS 9的PiP功能。

如果你使用WebKit支持PiP功能,但要退出特定视频的画中画。设定关联web view 实例的allowsPictureInPictureMediaPlayback属性为NO。(这个属性在iOS中9的未来beta版提供)

如果你有一个旧的应用程序,使用已弃用的 MPMoviePlayerViewController 或 MPMoviePlayerController 播放视频,那你必须采用高级的iOS视频播放框架来支持画中画。

重要:苹果想让画中画功能一直能被用户操控,只有用户明确请求画中画功能才响应。尤其是退到后台时不能立即响应用户唤起画中画功能,这样的App会被App Store拒绝。

当用户按压Home键或触发一个把他们带入其他App的通知时,iOS 9自动将一个全屏播放的视频转到PiP播放。视频播放使用该功能的要求如下:

  • 按照本章之前的描述那样让App支持画中画功能。
  • 使用视图的视图填充窗口的边界来全屏播放视频。

提示:用户可以在禁用画中画自动唤起,通过设置 Settings > General > Multitasking > Persistent Video Overlay。如果你认为一切已设置妥当,但当你按下Home键时,发现你的视频不会进入画中画,请检查此项设置。

当App播放的视频转到画中画播放时,系统将管理视频内容的呈现,而你的App会继续在后台运行。当你的应用程序在后台运行,请确保丢弃不需要的资源,如视图控制器、视图、图像和数据缓存。在这种情况下,你期望执行适当且必须的操作,如视频合成、音频处理、下载接下来播放的内容等操作,但你必须注意尽可能少地消耗资源。如果你的应用程序在后台消耗太多的资源,系统将终止它。

责任编辑:倪明 来源: 苹果开发者中心
相关推荐

2015-07-14 16:15:22

2015-07-14 17:17:21

IOS 9分屏

2015-06-17 10:41:50

2017-09-15 22:40:48

AndroidPIP 画中画模式

2022-01-24 17:37:36

Chrome谷歌画中画

2020-02-13 10:05:24

开源技术 趋势

2021-03-19 07:07:03

Android 12Android系统谷歌

2023-05-11 17:44:20

2021-09-19 11:15:26

Edge 93浏览器画中画

2023-04-12 07:20:31

Windows 11安卓子系统

2012-07-13 13:42:40

2021-12-09 11:59:27

Firefox 95浏览器画中画

2022-10-13 14:28:40

Brave浏览器画中画

2014-05-09 12:59:26

iOS移动互联网

2023-03-08 16:35:07

Chrome浏览器

2012-05-17 16:34:28

2023-07-10 06:18:28

Windows 11微软

2021-02-24 09:10:53

Firefox 86AVIFLinux

2012-05-25 15:17:34

扫描仪评测

2021-02-25 17:20:27

火狐浏览器Firefox 86浏览器
点赞
收藏

51CTO技术栈公众号