VLC Android播放器介紹
阿新 • • 發佈:2019-01-05
VLC目錄結構
在ubuntu下編譯vlc完成後,就可以將vlc-android部分匯入android studio或者eclipse當中,完成java端的程式碼定製修改和編譯,也可以自己將需要的部分新增進入android工程,下面是本人根據實際需要完成的android工程,目錄結構如下所示:
動態庫:
libiomx-gingerbread.so,libiomx-hc.so,libiomx-ics.so,libvlcjni.so是在ubuntu下編譯的native底層so庫,libvlcjni則是供libVLC.java呼叫的,由於本人只需要arm-v7的架構支援,所以只添加了改so,在android studio當中如果在main當中直接新增jniLibs資料夾,同時新增armeabi-v7a,則編譯時會直接將該目錄下的so打包進入apk當中。
LibVLC
LibVLC.java是核心類,它是用來控制音視訊播放的,同時也是java和底層程式碼的連線橋樑,它其中呼叫了很多jni程式碼,來訪問ffmpeg native函式。
播放控制流程
初始化
設定流媒體uri,同時初始化VideoView,程式碼如下所示:
String video = "rtmp://live.hkstv.hk.lxdns.com/live/hks";
SurfaceView v = (SurfaceView) findViewById(R.id.surface);
mVideoView = new VideoView(v, video, this);
播放
@Override
protected void onResume() {
super.onResume();
mVideoView.createPlayer();
//mVideoView1.createPlayer();
}
停止
@Override
protected void onDestroy() {
super.onDestroy();
mVideoView.releasePlayer();
// mVideoView1.releasePlayer();
}
總結,其實寫好VideoView後操作起來很簡單,可以參考 demo,其實也可以根據需要實現自己的VideoView,來渲染顯示流媒體,後續部落格繼續介紹vlc播放流媒體流程。