• phongap开发中安卓平台上如何调用第三方播放器来播放HLS视频


    前文曾经讲了关于在安卓平台上利用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为拓展名的,我们在

    VideoPlayer.java中将以下代码修改
     
     
    原来是intent.setDataAndType(uri,"video/*"),现在改为intent.setDataAndType(uri,"video/ts"),这时候再点击播放按钮,会根据你手机中安装的能够播放HLS的播放器然后弹出一个选择框,选择其中一个即可,如果一同选择记住此选择,那么下次点击的时候不会提示,直接默认用上次打开的播放器来播放。
     
     
     
     
     
     
     
     
  • 相关阅读:
    saltstack之(九)配置管理源码部署Nginx
    saltstack之(八)配置管理部署LAMP
    saltstack之(七)配置管理系统初始化init
    saltstack之(六)配置管理state
    saltstack之(五)数据系统Grains和Pillar
    Visual Studio 2010 如何改用 Beyond Compare 作为 TFS 的比较工具
    C++名人的网站 转
    使用MAP文件快速定位程序崩溃代码行 (转)
    Mybatis自动生成实体类,映射文件,dao
    MinGW安装教程( MinGW
  • 原文地址:https://www.cnblogs.com/myzhibie/p/3913027.html
Copyright © 2020-2023  润新知