iOS新的视频开发框架AVPlayerViewContoller与画中画技术
一、引言
前面有一篇博客探讨了iOS中视频播放的开发相关类和方法,那篇博客中主要讲解的是MeidaPlayer框架中的MPMoviePlayerController类和MPMoviePlayerViewController类。在iOS8中,iOS开发框架中引入了一个新的视频框架AVKit,其中提供了视频开发类AVPlayerViewController用于在应用中嵌入播放视频的控件。在iOS8中,这两个框架中的视频播放功能并无太大差异,基本都可以满足开发者的需求。iOS9系统后,iPad Air正式开始支持多任务与画中画的分屏功能,所谓画中画,即是用户可以将当前播放的视频缩小放在屏幕上同时进行其他应用程序的使用。这个革命性的功能将极大的方便用户的使用。于此同时,在iOS9中,MPMoviePlayerController与MPMoviePlayerViewController类也被完全易用,开发者使用AVPlayerViewController可以十分方便的实现视频播放的功能并在一些型号的iPad上集成画中画的功能。
二、AVPlayerViewController的使用与其中方法属性解析
使用AVPlayerViewController首先需要引入两个框架,如下:
1 2 |
|
使用如下代码进行视频的播放:
1 2 3 4 5 |
|
运行工程,可以看到如下图所示的视频播放界面:
AVPlayerViewController中还有如下属性和方法提供给开发者使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
三、画中画编程技术应用
AVPlayerViewController是默认支持画中画操作的,如上图所示,视频的播放界面右下角出现一个画中画的按钮,点击这个按钮当前播放的视频界面会缩小显示在屏幕角落,这时点击Home键回到主界面,或者切换到其他应用程序,视频播放不会中断。如下图所示:
两指的捏合操作可以将缩小的视频播放窗口进行任意尺寸的放大,如果将视频窗口拖进屏幕的边界,视频窗口会被吸进边界,用户可以通过拖拽手势将其拉出,如下图:
AVPlayerViewControllerDelegate中的方法可以对用户画中画的操作进行监听:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|