1. 程式人生 > >VLC Android播放器介紹

VLC Android播放器介紹

VLC目錄結構

在ubuntu下編譯vlc完成後,就可以將vlc-android部分匯入android studio或者eclipse當中,完成java端的程式碼定製修改和編譯,也可以自己將需要的部分新增進入android工程,下面是本人根據實際需要完成的android工程,目錄結構如下所示:
vlc播放器目錄結構

動態庫:

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播放流媒體流程。