博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android vlc使用教程_在android项目中使用VLC
阅读量:1542 次
发布时间:2019-04-21

本文共 1083 字,大约阅读时间需要 3 分钟。

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 app。项目中使用的话,直接把源码中的LibVLC那个目录拖进自己的工程就好了。LibVLC java代码就是封装了C库jni接口,对外提供了一个LibVLC对象,初始化、播放、停止,这些接口是很明确的,直接拿来用就行了,我们只需要自己再封装一个videoview,把图像显示在view上就可以了。

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

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

转载地址:http://qdwcy.baihongyu.com/

你可能感兴趣的文章
是什么让我坚持了每天更新文章?
查看>>
RS-485总线电平异常解决方案解析
查看>>
世界上第一块商用微型处理器4004
查看>>
三极管电路必懂的几种分析方法
查看>>
STM32定时器触发SPI逐字收发之应用示例
查看>>
5G网络是怎么来的?
查看>>
你可能忽视的总线收发器接口电平问题
查看>>
USB接口和雷电接口有什么关系?
查看>>
通信教程05_USB接口、标准和基础原理
查看>>
2019年11月C语言接近Java,有望排名第一
查看>>
Linux的起源:从一个故事说起
查看>>
精彩的实验 | 专业表演请勿模仿
查看>>
中国人发明的代码,你知道是什么样的吗?
查看>>
C语言结构体用法很多,坑也很多
查看>>
当年的硬件,今天的U盘
查看>>
从信号完整性角度谈如何选择示波器
查看>>
硬件小知识 | 动图解析桥式整流电路工作原理
查看>>
发电厂是交流电,还是直流电输送?
查看>>
你了解三极管,但你了解晶闸管吗?
查看>>
通信教程06_波特率、比特率、通信速度的区别
查看>>