android vlc使用教程_在android项目中使用VLC
发布日期:2021-06-24 16:33:03 浏览次数:3 分类:技术文章

本文共 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。

转载地址:https://blog.csdn.net/weixin_33865450/article/details/113372940 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java和python交互 jni_Python基于pyjnius库实现访问java类
下一篇:mysql表角色互斥_MySQL如何实现互斥访问,锁表?

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月01日 11时01分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章