iOS9 画中画 Picture in Picture
来源:互联网 发布:美国人学编程难吗 编辑:程序博客网 时间:2024/06/05 16:09
画中画 (Picture in Picture)
iOS9系统在iPad上支持多任务分屏和画中画视频播放,画中画视频播放就将视频播放窗口化,然后浮动在屏幕上,此时你可以使用其他APP。但是有限制:1、iOS9 2、iPad,此功能是在iPad上看电影,home返回后无意间发现的好玩的功能。
一、准备工作
1、最好确保iPad的“设置--通用--多任务--持续视频叠层”功能打开。
2、以下为Xcode的工程相关配置
a、设置Base SDK 为 “Latest iOS”。
b、打开选项“target--Capabilities--Background Modes--Audio, AirPlay and Picture in Picture”。
c、确保APP的audio session使用正确的类型AVAudioSessionCategoryPlayback
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { AVAudioSession *session = [AVAudioSession sharedInstance]; NSError *error = nil; [session setCategory:AVAudioSessionCategoryPlayback error:&error]; return YES;}
二、实现方式
AVKit, AVFoundation, or WebKit 分别提供了一种实现方式。
1、简单方便快捷的实现方式使用AVKit提供的 AVPlayerViewController,定制了UI操作页面,比如进度条、播放暂停按钮等。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. AVAudioSession *session = [AVAudioSession sharedInstance]; NSError *error = nil; [session setCategory:AVAudioSessionCategoryPlayback error:&error]; //AVKit提供的 AVPlayerViewController NSURL *movieURL = [[NSBundle mainBundle] URLForResource:@"samplemovie" withExtension:@"mov"]; AVURLAsset *asset =[AVURLAsset assetWithURL:movieURL]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; AVPlayer* player = [[AVPlayer alloc] initWithPlayerItem:playerItem]; AVPlayerViewController *playerCtr = [[AVPlayerViewController alloc] init]; playerCtr.player = player; [playerCtr.player play]; self.window.rootViewController = playerCtr; return YES;}
2、如果你想定制播放页面,那就使用AV Foundation提供的AVPlayerLayer(具体用法请参考官方Demo,里面有AVPlayer和AVPlayerLayer的用法)和AVKit提供的
AVPictureInPictureController组合起来实现效果。具体代码请参考官方Swift版本和Objecttive-C版。
3、使用 WebKit 提供的
WKWebView
也可以实现。
更多信息请阅读原文。
0 0
- iOS9 画中画 Picture in Picture
- iOS画中画Picture in Picture:你需要知道的9个知识点
- picture
- picture
- picture
- Picture
- picture
- picture
- Picture
- picture
- Picture
- Picture
- picture
- 【Picture】
- Picture
- picture
- Javascript in one picture
- vim draw picture plug in
- 使用POI为生成的excel添加文件属性
- <c:url>标签相关知识点
- JAVASE总结笔记
- 关于iOS常用的26中公共方法,可copy的代码
- 常见的web服务器有哪些?
- iOS9 画中画 Picture in Picture
- 【学习笔录】Mysql多表删除语句
- 算法复习(1)-算法设计要求
- BeanUtils Exception 之 FastHashMap
- nginx代理服务器
- 我的Redis集群搭建之路
- Swift - 是时候学习Swift了
- 十分钟认识单例模式的多种姿势
- leetcode:Longest Increasing Subsequence