53软件开发与应用SoftwareDevelopment&Application电子技术与软件工程ElectronicTechnology&SoftwareEngineering我们开发中很多地方会用到视频播放功能,对于iOS平台视频播放大致分为两大类:使用苹果的官方API实现视频播放功能。(AVKit,AVFoundation)和使用集成ffmpeg框架的第三方库。(ijkplayer,kxmovie等)。本文现只针对第一种方式做简单的探究。播放一段本地的视频我们貌似可以通过以下几种方法实现。一是通过在APP中嵌套WebView(UIWebView,WKWebView)加载Html5标签Video来实现视频播放的功能。二是通过AVKit框架实现视频播放。三是通过底层AVFoundation框架实现视频播放。实际上,无论哪种方式归根结底仍然离不开底层AVFoundation的身影。1Html5video标签播放视频特殊说明:基于mediaPlayer类库的MPMediaPlayerController(iOS9后遭到废弃,被AVPlayerViewController所替代)iOS8之后苹果推荐使用WKWebView替代UIWebView,其主要的优点有:(1)WKWebView更多的支持HTML5的特性;(2)WKWebView更快,占用内存可能只有UIWebView的1/3~1/4;(3)WKWebView高达60fps的滚动刷新率和丰富的内置手势;(4)WKWebView具有Safari相同的JavaScript引擎;(5)WKWebView增加了加载进度属性将;(6)UIWebViewDelegate和UIWebView重构成了14个类与3个协议。1.1使用方式通过webView嵌套html的video标签实现视频播放,如下:!DOCTYPEHTML>Yourbrowserdoesnotsupportthevideotag.需要我们做的只是简单的在我们的视图中添加UIWebView(WKWebView)然后调用加载方法去加载html文件即可。代码如下:webView=WKWebView(frame:self.view.frame);letpath=Bundle.main.path(forResource:"movieHtml",ofType:"html");letrequest=URLRequest.init(url:URL(fileURLWithPath:path!))webView?.load(request);self.view.addSubview(webView!);该例当中加载了一个本地html文件播放本地视频文件,实际当中也可以加载自己服务器端的html文件播放服务端视频文件。1.2原理分析首先我们要了解一个概念WebKit,WebKit是一个开源的浏览器引擎,我们在浏览器中能够看到各种各样的网页就是因为WebKit帮助我们解析html代码呈现给我们。很多浏览器包括safar,Chrome就是一款基于WebKit的浏览器,在我们的app中无论原有的UIWebView还是现有的WKWebV...