使用phonegap开发安卓HLS播放软件解决方案
目前使用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的(自己提出的协议当然要在自己的产品上给予良好的支持)。
使用phonegap开发安卓HLS播放软件解决方案的更多相关文章
- h5开发安卓软键盘遮挡解决方案
//处理input focus时被键盘遮挡问题 inputFocus:function(){ if(/Android [4-6]/.test(navigator.appVersion)) { wind ...
- Phonegap 开发环境搭建
以Android为例介绍Phonegap开发环境搭建 一. 软件下载 1. JDK 8 下载 http://www.oracle.com/technetwork/java/javase/downloa ...
- 搭建phonegap开发环境,搭建安卓开发环境
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- 安卓MP3播放器开发实例(1)之音乐列表界面
学习安卓开发有一年了,想想这一年的努力,确实也收获了不少.也找到了比較如意的工作. 今天准备分享一个以前在初学阶段练习的一个项目.通过这个项目我真正的找到了开发安卓软件的感觉,从此逐渐步入安卓开发的正 ...
- 吐槽:基于PhoneGap开发移动项目
目前,随着Google的Android手机和苹果的iphone手机的逐渐普及,越来越多开发者加入到移动应用开发的大军当中.其中,Android应用是基于Java语言基础上进行开发的,而苹果公司的iph ...
- 【软件配置】JDK+AndroidStudio4.1开发安卓APP环境安装和配置教程详细
目录 一.专业名词 二.搭建前资源准备 2.1 JDK资源下载 2.2 AndroidStudio下载 三.安装 3.1 JDK安装配置 3.2 AndroidStudio安装 四.创建安卓APP工程 ...
- Mac 下安装Phonegap开发环境
Mac 下安装Phonegap开发环境 2014.09.11 星期四 评论 0 条 阅读 5,613 次 作者:野草 标签:phonegap ios mac 什么是Phonegap呢?Phon ...
- Eclipse 环境下安装PhoneGap开发插件
phoneGap开发跨所有移动平台软件已经成为未来移动终端开发的总趋势,如何在大家所熟悉的Eclipse IDE中快速安装PhoneGap开发插件,介绍如下: 点击help——>install ...
- 个人整理的 Windows 下 .NET 开发必装的软件
注: 最后更新时间:2019-03-15 一..NET 开发 1. 必装 软件名称 说明 下载地址 JetBrains Toolbox JetBrins 全家桶管理工具. 下载地址 JetBrains ...
随机推荐
- 【51NOD】数字1的数量
[算法]数位DP [题解]数位dp总结 之 从入门到模板 #include<cstdio> #include<algorithm> #include<cstring> ...
- 01-UIScrollView01-大图片展示
源代码下载链接:01-UIScrollView01-大图片展示.zip283.7 KB // // MJViewController.m // 01-UIScrollView01-大图 ...
- Eureka Server的高可用
Eureka Server进行互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署 创建application-peer1. ...
- python进行机器学习(三)之模型选择与构建
Scikit-Learn库已经实现了所有基本机器学习的算法,可以直接调用里面库进行模型构建. 一.逻辑回归 大多数情况下被用来解决分类问题(二元分类),但多类的分类(所谓的一对多方法)也适用.这个算法 ...
- 【Python学习】解决pandas中打印DataFrame行列显示不全的问题
在使用pandas的DataFrame打印时,如果表太长或者太宽会自动只给前后一些行列,但有时候因为一些需要,可能想看到所有的行列. 所以只需要加一下的代码就行了. #显示所有列 pd.set_opt ...
- 网络设备之分配net_device结构
注册网络设备时,会调用pci_driver->probe函数,以e100为例,最终会调用alloc_netdev_mqs来分配内存,并且在分配内存后调用setup函数(以太网为ether_set ...
- python中的enumerate获取迭代元素的下标
以前迭代的时候,需要获取次数都是如下格式: index=1 for node in nodes: if index==3: continue print(node.text_content())ind ...
- Oracle 内存管理
--内存分配建库时可以先分配系统内存的50%-80%给Oracle,后期根据业务再进行调整.SGA.PGA分配比例:OLTP:SGA %80 , PGA %20OLAP:SGA %50 , PGA % ...
- Linux命令--more
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- ios IAP 内购验证
参考我之前的笔记 苹果内购笔记,在客户端向苹果购买成功之后,我们需要进行二次验证. 二次验证 IOS在沙箱环境下购买成功之后,向苹果进行二次验证,确认用户是否购买成功. 当应用向Apple服务器请求购 ...