VLC是用的很广泛的多媒体播放器框架,我之前也写过关于《VLC源码及各modules功能介绍》,VLC较其他多媒体播放框架要复杂更多。今天是djstava关于他编译vlc-android源码移植,并播放电视节目直播案例。说实话,很多人连vlc-android编译出库文件出来都要折腾好久。这篇文章对你绝对有借鉴意义。

前言

最近老有朋友在问vlc

for

android的移植问题,网络上有一些帖子也有谈到,但是大部分都是基于老版本,况且vlc的更新也很频繁,接口也经常变动,给大家造成了很大的困扰。鉴于此,我专门写一篇博文,将具体的方法及步骤写出来,最后将源码工程上传到了github,方便一些有此需求的朋友,如果感觉对你有所帮助,点击文末左下方【阅读原文】请去github点个赞,有什么问题也可以在issue里提。

如何创建播放器播放

ArrayListoptions = new ArrayList<>();

options.add("-vvv");

libvlc = new LibVLC(this, options);

mediaPlayer = new MediaPlayer(libvlc);

IVLCVout ivlcVout = mediaPlayer.getVLCVout();

ivlcVout.setVideoView(surfaceView);

ivlcVout.attachViews();

Media media = new

Media(libvlc,Uri.parse("udp://@225.0.0.1:9000"));

mediaPlayer.setMedia(media);

mediaPlayer.play();

vlc-android源码编译

我们的目的是使用最新的vlc-android,而且随着vlc的更新升级,我们的app也需要随时能够得到更新,因此编译源码是少不了的。这个我之前有一篇博文已经写过,请参考vlc-android代码剥离vlc-android编译完成后

,目录文件很多。我们需要将动态链接库so文件和java层的相关类库拷出来,它们的路径分别如下图所示

46c00676c1419b6ded11a9012c906883.png

a7eabedcd3f4e498a4311b57b88ec5bf.png

08878f9bb4ad1ad1d30017dddd4c07c2.png

一些坑

Error:(466,

73) 错误: -source 1.6 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond

运算符)Android studio --> File --> Project structure… --> app

--> Source Compatibility

27518427fcb132107847798ecba15445.png

项目效果截图

ea3068ed06980c45b6d6a076d768c770.png

d022284c0e1ec792d3aa8878de806abf.png

61939183cfe1547595ca82b9c4dbe0b3.png

aa0ec18607e3cd906eb502be54c8a71a.png

1704c9b60c5307fa6726efd1ec242965.png

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐