phongap开发中安卓平台上如何调用第三方播放器来播放HLS视频
2014-08-14 17:13
471 查看
前文曾经讲了关于在安卓平台上利用phonegap开发播放HLS的解决方案,其实最好的方案就是自己针对HLS视频开发自己的播放器,但是开发播放器是一个浩大的工程,必须对原生安卓开发非常熟悉,并且对视频播放知识需要一定的积累。对于一般开发人员,尤其是web开发人员来讲,这显然不现实,同时这也违背了我们采用phonegap来开发跨平台移动软件的初衷。那么在这种情况下如何达到我们预期的目标呢?答案是调用第三方应用。
step1:首先需要在手机上安装一个能够播放HLS协议视频的播放器,例如MXplayer或者QQ浏览器。
step2:如何调用这个播放器来播放呢?涉及到调用播放器这就要写原生的Java代码了,我们可以利用这个Videoplayer的phonegap插件https://github.com/raulduran/VideoPlayer,直接使用这个插件来播放视频的话,它在不同手机上表现形式是不同的,笔者使用的是红米手机进行测试的。直接播放的话会调用系统自带的播放器来播放,这种情况下,这个播放器是不能够播放HLS视频的。而且红米手机无法更改默认视频播放器(不root的话),如何解决?
step3:当然我们可以获取安装在手机上的第三方播放器的包名以及入口Activity类名来直接打开它,但是这种方法需要写很多代码,并且效率不高,因为要去查找手机中所有的应用。
step4:最好的办法是修改我们使用的Videoplayer插件的源代码,由于HLS视频的索引文件是以ts为拓展名的,我们在
![](http://images.cnitblog.com/i/475683/201408/142307071236174.jpg)
VideoPlayer.java中将以下代码修改
![](http://images.cnitblog.com/i/475683/201408/142308006238385.jpg)
原来是intent.setDataAndType(uri,"video/*"),现在改为intent.setDataAndType(uri,"video/ts"),这时候再点击播放按钮,会根据你手机中安装的能够播放HLS的播放器然后弹出一个选择框,选择其中一个即可,如果一同选择记住此选择,那么下次点击的时候不会提示,直接默认用上次打开的播放器来播放。
step1:首先需要在手机上安装一个能够播放HLS协议视频的播放器,例如MXplayer或者QQ浏览器。
step2:如何调用这个播放器来播放呢?涉及到调用播放器这就要写原生的Java代码了,我们可以利用这个Videoplayer的phonegap插件https://github.com/raulduran/VideoPlayer,直接使用这个插件来播放视频的话,它在不同手机上表现形式是不同的,笔者使用的是红米手机进行测试的。直接播放的话会调用系统自带的播放器来播放,这种情况下,这个播放器是不能够播放HLS视频的。而且红米手机无法更改默认视频播放器(不root的话),如何解决?
step3:当然我们可以获取安装在手机上的第三方播放器的包名以及入口Activity类名来直接打开它,但是这种方法需要写很多代码,并且效率不高,因为要去查找手机中所有的应用。
step4:最好的办法是修改我们使用的Videoplayer插件的源代码,由于HLS视频的索引文件是以ts为拓展名的,我们在
![](http://images.cnitblog.com/i/475683/201408/142307071236174.jpg)
VideoPlayer.java中将以下代码修改
![](http://images.cnitblog.com/i/475683/201408/142308006238385.jpg)
原来是intent.setDataAndType(uri,"video/*"),现在改为intent.setDataAndType(uri,"video/ts"),这时候再点击播放按钮,会根据你手机中安装的能够播放HLS的播放器然后弹出一个选择框,选择其中一个即可,如果一同选择记住此选择,那么下次点击的时候不会提示,直接默认用上次打开的播放器来播放。
相关文章推荐
- 安卓开发调用第三方应用(如WPS)打开文档(比如Word),如何设置文件只读,不能被修改?
- iOS开发实用技巧——如何调用第三方APP
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- android新手 调用系统默认播放器播放视频在视频没有放完时如何关闭播放器
- 如何在ASP.NET中调用第三方开发的控件?
- 电商购物网站如何调用第三方支付平台(支付宝,财付通,盛付通等)
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- .Net语言 APP开发平台——Smobiler学习日志:如何在手机中调用邮件发送接口
- .Net语言 APP开发平台——Smobiler学习日志:如何调用API进行短信发送
- NDK开发(六):Android如何调用第三方SO库
- 对Android基于vitamio框架调用第三方播放器播放视频的初步认识
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- .Net语言 APP开发平台——Smobiler学习日志:如何在手机中调用邮件发送接口
- 电商购物网站如何调用第三方支付平台(支付宝,财付通,盛付通等)
- 【XFeng安卓开发笔记】Android开发中如何调用打电话功能
- 微信第三方平台开发二(代公众号调用接口)
- iOS 开发与安卓平台共通 实现录音文件的录制,上传,下载,播放
- .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何快速调用电话拨打功能
- SNF快速开发平台--规则引擎在程序当中如何调用
- 安卓开发中,如何在代码中实现第三方推送更新,下载好更新后,自动卸载旧版本再安装,而不是直接覆盖安装