iOS - IJKPlayer二三事

本文介绍了如何在iOS项目中集成和使用IJKPlayer,一个基于FFMPEG的高性能播放器。从下载集成到播放器的创建、配置、监控以及使用方法进行了详细阐述,特别提到了其对系统播放器的改进和播放状态的监听方法。
摘要由CSDN通过智能技术生成

1.前言

相信许多iOS开发者都不可避免要接触多媒体的需求。播放器就是其中重要的一环。 关于iOS上的播放器,现有技术方案可以选择的有许多,从简单单一播放功能实现的MPMoviePlayerController,以及可以自定义UI界面,自由度灵活度高的AVPlayer。原生组件下却存在一系列缺点,例如:播放格式兼容性问题,播放监控依赖KVO,能获取的数据限制等等。

令人鼓舞的是,哔哩哔哩开源了他们自家的播放器 - IJKPlayer,播放器底层基于FFMPEG,使用C编写,效率高,并且跨平台。值得肯定。

2.准备工作

首先从git上下载代码,或者命令行获取也可以。 解压后得到文件以后,打开命令行工具。从git说明文档中可以分别看到iOS端和安卓端的集成方法,这里参照iOS集成方法。

首先第一步cd到目标所在的目录,注意是到解压文件下iOS目录下。 然后执行脚本文件./init-ios.sh 这一步骤其实是下载FFMPEG的组件,根据网络状况吧,组件大概有1G多一些。笔者花了一个小时才下载好。

这一步完成后,接着cd至ios,分别执行两个./compile脚本,这一步是通过对下载好的组件整合打包链接到项目中。

到这,我们就可以运行官方提供的Demo了。Demo中实现的功能比较简单,仅仅作为演示作用。大家可以参考参考。

3.接入集成

这一步有两个方法,第一种是按照官方的方法,把SDK,add files 到工程里,优点是随时可以在工程里根据自己需求修改SDK的代码,缺点是,Xcode在这种引入下,提示性极差,引入头文件要靠自己敲,并且如果同时打开两个都引用了的工程,会出现后打开的工程无法读取SDK的问题。此方法只是引用地址,并不是文件拷贝,add files完毕之后,SDK还在原来的地方。 第二种方法是将SDK打包成FrameWork的方法,缺点就是SDK完全封闭,日后更新代码,修改代码都必须重新打包。

考虑到工程管理的易用性,在这里笔者选择的是第二种方法。将文件打包成Framework的方法网上已经很多,在这里不赘述。

到这一步完毕,将的到的framwork文件放到工程里,然后添加相应的依赖库。

值得一提的是,IJK提供了两个基于原生组件封装的player,分别是IJKAVMoviePlayerController 和 IJKMPMoivePlayerController 在播放需求单一,或者业务场景要求简单的时候完全可以采用这两个播放器,一来系统硬解速度快,占用资源小,省电等优点。二来使用起来简洁方便。利用构造方法直接创建播放器就可。

主要的头文件是IJKMediaFramework,在需要的地方导入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值