超簡單!Android 播放流媒體

簡介

我利用了大名鼎鼎的vlc來播放媒體。它可以播放來自網絡、攝像頭、磁盤、光驅的文件,支持包括MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC等格式的解碼。
但是libvlc對於普通的開發者還是有一些門檻的,爲此,我封裝了一個超級簡單的庫,來幫助大家使用libvlc。

使用

在我們的項目根目錄下的build.gradle,引入jitpack:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

然後在我們項目的app下的引入庫:

dependencies {
    implementation 'com.github.mafanwei:libvlc:Tag'
}

寫本文時,tag爲0.0.5,基於libvlc 3.2.5,可以通過鏈接查看最新的版本。
使用起來也非常的簡單,只需要在我們需要播放媒體的activity下:

//創建一個builder對象
VlcVideoLibrary.Builder builder = new VlcVideoLibrary.Builder(context,true);
//設置一個要渲染的object: Surface/SurfaceView/TextureView/SurfaceTexture
builder.setSurfaceView(surfaceView);
//創建 VlcVideoLibrary對象
VlcVideoLibrary vlcVideoLibrary = builder.create();
//設置一個播放url,比如 rtsp.
vlcVideoLibrary.setPlayUrl("rtsp://192.168.31.192:1234");
//設置輸出
vlcVideoLibrary.setVlcVout();
//開始播放
vlcVideoLibrary.startPlay();

如果你不想播放trsp想播放別的流媒體,只需要改播放的url就可以了
常見的協議頭有:
http rtsp rtmp mms ftp
如果想播放文件,可以使用我封裝的setPlayFile,只需要傳一個文件路徑就可以了,或者使用setPlayUrl傳入file://路徑即可。
我設置了建造者模式的builder,其中有很多的api,方便大家設置參數。大家看名稱就能知道具體意思,在這裏就不一一敘述了。
我還保留的player接口,你可以自己拿到,實現追蹤媒體,快進,慢放,縮放等等一系列的功能。

如果需要更多的api,或者有更好的idea,可以在github上提issue/pr給我。
地址如下:github地址,歡迎star!

如果你覺得對你有用,請幫助我。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章