VLC是pc时代流媒体播放器的标杆,相信大家都有接触。VLC的流媒体部分是基于开源的live555库。live555的代码我稍微看过一些,基于C++的,说实话,代码写的有点乱,不太符合一个开源库的档次。不过,live555的有点是兼容性相当的好,很多不是很标准的流媒体码流,都能适当兼容。也正因为此,VLC作为一款播放器,较受欢迎。

最近我在开发一个android app,需要用到流媒体播放器,主要用于播放网络上的http流媒体和rtsp流媒体。当然,第一想法肯定是直接用android自带的mediaplayer(用的是封装后的videoview)。事实上,mediaplayer也相当不错,完美支持http。但是在支持rtsp上,不是很好,主要表现在缓冲时间较长,编程接口少,并且有些rtsp链接无法播放。

于是开始关注第三方播放器,可选的是两个:一个是vlc,老牌播放器,兼容性好,口碑好,但是在android平台上刚移植出来,稳定性易用性什么的都没保障。还有一个是国人开源项目vitamio,它是专门针对android设计的,接口非常易用(直接封装成videoview了,并且接口基本与android自带的videoview一模一样,可以直接替代)。但是vitamio也存在与系统mediaplayer一样的问题,对于某些rtsp同样无法播放。所以我很怀疑vitamio不过是把android本身的mediaplayer和videoview拿出来自己做了一个开源项目。对于系统mediaplayer不满意的可以用vitamio,编程接口多,并且能避免不同机子对mediaplayer和videoview实现差异引起的兼容性问题。

所以我就选了vlc。直接去vlc官网下载vlc for android,包括源码包和vlc apk。项目中使用的话,直接把源码中的LibVLC那个目录拖进自己的工程就好了。LibVLC java代码就是封装了C库jni接口,对外提供了一个LibVLC对象,初始化、播放、停止,这些接口是很明确的,直接拿来用就行了,我们只需要自己再封装一个videoview,把图像显示在view上就可以了。

至于vlc依赖到的so库,其实很简单,不用按网上的去自己编译,直接把vlc app解压开来,把里面一共4个so拖到自己项目来就行了。呵呵呵,尼玛这是有多懒。

补充vlc一个bug:对于http流媒体,调用stop接口会阻塞很长一段时间。具体原因未研究,最后在项目中我就一分为二了,对于http流媒体,仍使用系统自带videoview。

android配置vlc_android项目中使用VLC相关推荐

  1. android配置vlc_Android : VLC for Android 环境搭建及编译

    一.下载VLC源码: git clone https://code.videolan.org/videolan/vlc-android.git 编译apk:   sh compile.sh -a ar ...

  2. android vlc使用教程_在android项目中使用VLC

    VLC是pc时代流媒体播放器的标杆,相信大家都有接触.VLC的流媒体部分是基于开源的live555库.live555的代码我稍微看过一些,基于C++的,说实话,代码写的有点乱,不太符合一个开源库的档次 ...

  3. Android Studio 在项目中引用第三方jar包

    在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets {main {j ...

  4. 初次使用Android Studio问题,Android Studio往项目中添加图片

    2019独角兽企业重金招聘Python工程师标准>>> 习惯了iOS往项目中直接拖拽的图片的习性,第一次往Android Studio中添加图片为难了,怎么也拖拽不进去,为难了,研究 ...

  5. java和opencv配置_Java——OpenCVWindows配置和项目中jar包的简单配置

    1. 安装OpenCV 1.1 下载相应的OpenCV版本,解压 1.2 将 openCV的dll文件(D:\InstallPackages\OpenCV\opencv\build\java\x64) ...

  6. Spring 配置的项目中数据库链接信息加密(详细)

    传统JAVA_WEB项目如果是ssh.ssm之类的搭建的项目,其数据库链接信息大部分是交给Spring来作为管理 数据库的URL地址.账号.密码一般会写在配置文件中:dbconfig.properti ...

  7. Android VideoView播放 项目中的 视频文件 自动横屏 全屏播放

    记录最近遇到的一个android播放视频的需求: APP主页上方有一个操作演示字样的入口,点击后开始播放一段视频,视频文件是放在工程里的. 话说以前还没做过类似播放视频的功能,根据以往的经验来看,最简 ...

  8. jeecg 手机注册 阿里云短信API 【 阿里云短信发送验证码 平台配置和项目中使用】

    文章目录 jeecg 项目效果展示 短息通知页面入口 代码中调用短信api 配置和代码 API中的重要参数配置项: 阿里控制台注册 注册签名 注册短信模板  阿里云短信发送验证码配置和项目使用 je ...

  9. 对Android和iOS项目中的模块结构和类结构设计的探讨

    1. 现有的代码规范缺少探讨的部分 1.1 关于项目的代码结构 通常来说,一个项目由多个模块组成:一个模块由多个类组成:一个类由多个方法组成:一个方法由多条语句组成: 按照代码粒度从大到小,可以划分为 ...

最新文章

  1. leetcode算法题--二叉树中的最长交错路径★
  2. Linux系统下MySQL数据库的备份和恢复
  3. jenkins集群测试环境原理
  4. STL(一)Containers
  5. 计算机联系函范文,致客户联络函
  6. Python连接MySQL数据库(pymysql),DataFrame写入 MySQL(create_engine)- Python代码
  7. Oracle数据库中正确的导入dmp数据库文件
  8. 学校计算机房 作文,第一次去机房作文
  9. 编译mod_jk.so
  10. 12月9日10日 总结
  11. golang中值类型/指针类型的变量区别总结
  12. 查询mysql当前连接并删除_查看mysql已有用户并删除
  13. Git(4):提交代码时忽略不必要的文件或文件夹
  14. XP框架开启debug模式_win10 2004系统如何开启夜间护眼模式的问题
  15. android:persistent属性研究
  16. DAMS峰会:解读ES搜索平台、AI中台、DataOps、机器学习等大数据技术精要
  17. C++简单贪吃蛇游戏——入门游戏编程(详细)
  18. centos 安装百度云/百度网盘Python客户端
  19. CTPN windows下实现
  20. 7-1 求e的近似值 (15 分)

热门文章

  1. Even Loop(事件循环机制)
  2. 易优cms 模板文件lists_tags.htm不存在,怎么弄 Eyoucms快速入门
  3. tilemap 导入unity_unity的Tilemap学习笔记
  4. tensorflow加载数据类型tf.newaxis的使用
  5. 《情海星空—我与刘德华》连载 刘德华前女友回顾当年情事的真情告白
  6. 运行LIO_SAM过程及出现的错误,跑通数据集,安装LIO_SAM环境配置
  7. 严格对角占优矩阵特征值_严格对角占优矩阵与SOR迭代法的收敛性定理.pdf
  8. 关于Mysql数据导出时遇到的Can't create/write to file问题
  9. 2万字聊聊什么是秒杀系统(上)
  10. 洛谷多校补题 5 B