爱思助手

iOS 9 画中画功能,让多任务从后台解放出来

    苹果将他们在 iOS 9 中针对 iPad 增加的新特性称为“多任务”,而其实iPad一直以来都支持多任务。在这些年的发展中,它从系统多任务到后台任务到后台刷新。它的多任务所缺的就是同时运行两款应用。而 Picture-in-Picture 画中画恰好就能够弥补这个缺失。


iOS 9 画中画功能,让多任务从后台解放出来


多应用多任务基本原理

  画中画不是新概念,电脑和电视机中早就有了这个概念,即一个视频在另一个视频上运行。比如在电视上你全屏播放橄榄球比赛的频道,你还可以同时在一个小角落播放足球比赛的频道。

  传统画中画概念就是让用户可以同时收看两个或者两个以上的画面。在iPad画中画中,用户可以在设备上看视频,同时做其他事情。因为画中画是在其他应用之上播放视频,因此它需要iPad Air 2、iPad Air、iPad mini 3或者iPad mini 2的支持。

  画中画功能是苹果在 iOS 9 中针对 iPad 增加的多任务功能的特性之一,另外还有 SlideOver 和 Split View。为了实现 SlideOver,苹果重新设计了双击 Home 键后出现的任务管理界面。用户可以从任务选项卡中选出应用并拖至右侧边栏,而左侧主程序将占据屏幕 70% 面积。用户还可以通过右侧边栏中切换程序。目前支持 SlideOver 的系统功能包括信息、备忘录和日历。

  另一项 Split View 功能支持同时打开两个应用,并对半在屏幕上显示。四指上滑选择程序可以为每半个分屏选择显示的程序。这才是真正意义上的分屏多任务功能,不过目前仅支持最新的 iPad Air 2代,这一定是与其内置的 2GB 内存有关。

视频播放功能简介
  
  2007 年发布的一代 iPhone 上有一款 iPod 应用可以播放 iTunes 视频,YouTube 应用可以播放 YouTube 视频,Safari 播放网页视频。也就是说iOS从诞生的那天起就支持视频播放。

  iOS 系统一直支持打电话和播放音乐等功能在后台运行。直到 2010 年 iOS 4 发布,引进新的API之后才允许 Skype 和 Pandora 之类的 IP 语音电话服务应用和音频应用在后台运行。

  2010 年晚些时候,苹果推出 AirPlay 支持用户将内容从 iPhone、iPod touch 或者 iPad 上流放到 Apple TV 上。在媒体播放器的使用上,苹果一直不断丰富特性,即使设备进入睡眠状态或者切换应用,视频还能够继续播放。

  2011 年 iOS 5 将 iPod 应用分离成视频和音乐应用,音乐应用支持后台播放。
 
  在 iOS 8 苹果以新框架 AVKit 替换了 2008 年发布的第一个 iPhone SDK——Media Player。在 iOS 9 中 Media Player 的播放器控制器和播放器视图控制器被AVKit的播放器视图控制器所取代。

  另外iOS 9中,另外两种视频播放方式——支持开发者开发播放器的 AVFoundation 以及支持播放 HTML5 网页视频的 WebKit 都获得新功能。


画中画工作方式


iOS 9 画中画功能,让多任务从后台解放出来


  此前使用内置播放器播放视频时会形成一个播放器层来播放视频,如果你离开当前正在播放视频的应用,视频就会停止播放。

  如今在 iOS 9 中同样有一个画中画层。画中画层打开之中,视频帧将不再指向视频播放器层,而是指向画中画层。这个过渡是无缝的,只要应用停止获得视频,画中画会立即获得视频。如果用户切换画面、切换应用或者回到主屏幕,视频会继续播放。它与应用没有关系,不管用户做什么它都能够继续播放视频。

  但是你不能够同时播放两个视频画面,假设你在画中画播放视频,然后又在 Safari 内打开另一个视频,画中画的视频就会停止播放。使用标准播放器的应用,画中画按键会出现在控制条右边,点击这个按键视频将从应用内播放器层切换到画中画播放器层。

  当用户离开应用时视频播放也会自动切换到画中画播放模式。比如,你正在播放视频,然后你按下Home键或者点击右键应用的通知,那么你离开的时候视频就会切换到画中画播放器。(用户可以在设置应用中选择是否需要自动进入画中画。)

  画中画层一共有三个按键和一条进度条。第一个按键支持用户离开画中画,切换回应用内播放器层。第二个按键主要控制应用播放或者暂停,而第三个则是关闭画中画,停止播放视频。

  FaceTime 同样可以使用画中画,用户可以在进行视频通话的同时在其他不同的应用之间切换,使用其他应用,比如查看日历行程或者记笔记等。

  画中画默认位于屏幕左下角,占屏幕四分之一宽度,用户可以将其移动到另外三个角落。iOS 会调整画中画和其他重要界面元素的相对位置,比如导航和标签栏或者主屏幕上的 Dock 栏,所以画中画不会影响用户查看其他界面元素。画中画屏幕的大小我们可以用双指进行调节,视频最大宽度支持半屏大小,最小宽度持四分之一屏幕大小。

  如果你觉得画中画影响到你的视线,但是你又不想完全关闭它,那么你可以先把它缩小放在屏幕边,这种情况下你还可以听到视频的声音,你可以在屏幕旁边看到视频的标签,上方有一个箭头,点击这个箭头用户随时都能恢复视频播放画面。用户还可以移动标签的位置,从顶部移动到底部或者从屏幕的一边移动到另一边,如果你觉得标签还是影响到你,那么你还可以调整它的大小。


iOS 9 画中画功能,让多任务从后台解放出来


开发者和画中画

  对于标准播放器视图控制器来说,苹果已经尽量让画中画使用起来简单方便,但是画中画按键不会自动出现。

  要打开画中画,开发者需要在后台模式下打开 Audio、AirPlay 和画中画,增加 AVFoundation 设置音频类别,给应用程序代理添加代码。这些程序完成之后,画中画按键才会出现。

  开发者还需要给播放器视图控制器添加代码,支持用户离开画中画,回到应用中适当的位置,在标准层中恢复视频播放。

  如果是自定义播放器那开发者要做的事情就更多了。

  开发者需要先确认播放视频的设备是否支持画中画,支持的话他们可创建一个画中画及控制器。另外自定义播放器还需要一个画中画按键,这样观看视频的用户才可以选择进入画中画模式。

  画中画视频播放的时候,应用内视频播放器要关闭,但是画中画视频不关闭。如果开发者想要支持画中画自动退出,这只有播放器在全屏模式下才能完成。

  如果设备支持画中画但是当前情况下不能够实用,那么开发者需要停止显示画中画按键,让看视频的用户知道目前不能够使用画中画功能。

  至于视频网页,如果开发者对 HMTL5 视频使用标准控制器,那么他们就可以“免费”获得画中画功能。和标准画中画一样,如果开发者不支持画中画它将没法使用。

画中画体验

  和 SlideOver 以及 Side View 的应用一样,画中画应用也和屏幕上同时运行的应用共享 CPU、以及内存等资源。因为这些资源有限,所以开发者需要处理好它们之间的关系。

  比如用户离开视频播放应用,但是视频还在画中画内继续播放,那么开发者就需要放弃所有和这款应用相关的东西,包括视图控制器、视图、图像以及其他数据缓存,以减小后台的负担。

  这款应用的其他任务——只要是和应用播放视频无关的都应该停止。

  如果应用使用 HTTP Live Streaming,开发者就应该给其提供更小更低的带宽,并在主列表内体现出来,这样 iOS 系统才能够了解到这些变化。这样画中画打开后使用的就会是更小版本的视频,从而节省资源。

画中画的使用限制


  此前苹果已经明确指出,画中画视频仅支持视频以及视频的相关音频。它不支持其他用户,用户不要试图将画中画作他用。后台音频和 AirPlay 也有同样的限制。

iPad 视频体验再上新台阶

  此前很多人就想过,如果 iPad 能够增加一些可以体现其独特性的功能,那么其对消费者的吸引力应该会更大。如今在 iOS 9 中,除了画中画,SlideOver 和 Split View 都是苹果朝这个方向发展的重大一步。