徐高翔的个人网站

vlc_for_android(基于git-3.0.0)快速集成

2016-04-24

软硬件环境

  • ubuntu 16.04 64bit
  • Android 5.1.1 TV Box
  • Android studio 2.3.1

前言

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

vlc-android源码编译

我们的目的是使用最新的vlc-android,而且随着vlc的更新升级,我们的app也需要随时能够得到更新,因此编译源码是少不了的。这个我之前有一篇博文已经写过,请参考http://www.xugaoxiang.com/blog/index.php/archives/57/

vlc-android代码剥离

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

vlc_dir

jniso2

vlc_java

如何创建MediaPlayer

1
2
3
4
5
6
7
8
9
10
11
12
13
ArrayList<String> options = 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();

一些坑

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

Android studio –> File –> Project structure… –> app –> Source Compatibility

e1

工程截图

s1

s2

s3

s4

s5

参考资料

1 https://github.com/djstava/OTTLivePlayer_vlc

2 http://www.xugaoxiang.com/blog/index.php/archives/57/

3 https://wiki.videolan.org/AndroidCompile

本文链接 https://xugaoxiang.com/2016/04/24/vlc_for_android(基于git-3.0.0)快速集成/

推荐文章(由hexo文章推荐插件驱动)

使用支付宝打赏
使用微信打赏

请博主喝咖啡!