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


    原文出处: @钢铁侠般的卿哥   欢迎分享原创到伯乐头条

     


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

     

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

      都说程序员的工资高,却很少了解他们加班的痛苦,你是不是每次也在心里想,按时间折算下来这个工资都给少了,于是会想在心里呐喊,要么涨工资,要么涨工资,要么涨工资,为什么??因为不让我们加班,这是不可能的!!!

      想要颠覆自己的工作模式吗?想要减少自己的加班时间吗?加入我们,和我们一起探寻属于我们程序员的自由模式吧!

      一款针对程序员的原生APP,以共享知识技能为目的,以悬赏方式在线互动交互平台。

      我们拥有高达近20人顶尖的技术团队,以及优秀的产品及运营团队。团队领军人物均在行业内有10年以上的丰富经验。

      现在我们正在招募原始的参与英雄,您将同我们一起改变程序员的工作方式,改变程序员的世界!同时也会有丰厚的报酬。作为我们的原始的参与者,您将同我们一起体验这款程序员神器,您可以提出专业的建议,我们会虚心采纳。每一个人都会是英雄,而您就会是我们需要的英雄!同时您也可以邀请您的朋友一起参与这场英雄的招募互动。

      我们不会耽误你太多时间,我们只需要您的专业看法,只要您从一个月内抽出1个小时,以后您每天都可以节省两个小时,一切都是为了我们自己!

      来?还是不来?

      接头人暗号:1955246408 (QQ)

  • 相关阅读:
    javascript的this
    javascript里的prototype
    【每天进步一点点 Python 】Python 字典(Dictionary) items()方法 用法
    【每天进步一点点--Python】字典dic类型 转换成 str 类型 json.dumps()
    【每天进步一点点
    【每天get 一点新知识】Python print 打印结果(字符串类型)前面添加 说明
    【每天get 到一点小知识】python 取response data 里面的数据
    【python web 开发】第三方登录开发模式及Oauth2.0 简介
    每天一个小程序:读取txt文件存储到excel 表中(2)
    每天一个小程序:读取txt文件存储到excel 表中
  • 原文地址:https://www.cnblogs.com/starliu/p/4718730.html
Copyright © 2020-2023  润新知