使用phonegap开发安卓HLS播放软件解决方案

时间:2024-05-31 22:04:56

目前使用phonegap开发的手机应用,很少涉及视频播放的功能,究其原因,主要是phonegap提供的API里面对视频播放功能支持度不够,当然播放音频一般情况下还是能够实现的,由于工作需要,自己研究了一下如何使用phonegap来开发视频播放软件,主要有以下几种思路:

解决方案1:使用HTML5中的Video标签来进行播放,这种方案实际上在phonegap中的表现和直接用安卓原生浏览器来测试时一样的,这个时候你会发现将一个放在服务器上的包含Video标签的页面使用安卓原生浏览器打开之后,对于HLS地址的视频加载速度非常慢,这显然是不行的,究其原因,还是HLS协议是苹果提出的,安卓对其支持度不够,所以采用Video标签在phonegap中的安卓平台上播放HLS显然是不靠谱的;

解决方案2:phonegap提供了一种插件机制,这种插件机制可以使开发者用Java代码调用安卓原生功能以及手机中其他的app,这就为我们提供了一种思路,实际上只要熟悉phonegap插件开发,你会发现原生安卓开发出来的功能利用phonegap也能实现,因为phonegap不能实现的功能,我们依然可以使用Java代码实现,这样开发出来的应用其实是一种混合的app.在这种思路的指引下,我们可以开发一个视频播放的插件,调用手机中已经安装好的播放器来播放视频,这里有一个别人写好的Videoplayer插件,不需要我们自己写了,地址如下:https://github.com/raulduran/VideoPlayer,经过测试之后,发现QQ浏览器自带的视频播放软件播放HLS效果最为理想,所以需要下载一个QQ浏览器并安装到手机上;

解决方案3:自己开发播放器,这个方案由于周期太长,并且需要很多对于原生安卓开发和视频播放知识的储备,在目前情况下还没有考虑,但是随着后面工作的进展肯定要做这一步,目前的思路是使用Vitamio来做,官网地址是:https://www.vitamio.org/

总结:以上主要是讲了如何在安卓平台上使用phonegap开发HLS播放软件的解决方案,在IOS平台下,使用HTML5的Video标签即可,因为苹果的SDK中webview类是支持Video来播放HLS的(自己提出的协议当然要在自己的产品上给予良好的支持)。