FFmpeg開發筆記(五十六)使用Media3的Exoplayer播放網絡視頻
現在Android官方再次升級Exoplayer,并將其納入了Jetpack的Media3第三代媒體庫,作為音視頻相關操作的統一處理引擎。升級后的Exoplayer就成為Media3的統一媒體播放引擎,提供了音頻和視頻播放的應用級組件,意欲在音視頻渲染方向上一統江湖。
根據Android官網的介紹,ExoPlayer還擺脫設備和操作系統碎片化問題,讓App代碼以一致的方式運行于整個Android生態系統中。因為Media3是個很新很新的Jetpack庫,所以它對開發環境要求比較高,需滿足下列條件才能正常引入Media3。
1、開發工具要選用Android Studio Jellyfish(小水母版本)或更高版本。
2、Gradle版本不低于8.6。
3、App模塊的build.gradle里面compileSdk和targetSdk要升級到34或者更高版本。
根據上述條件準備好了開發環境,再按照以下描述引入Media3的ExoPlayer庫,詳細步驟說明如下。
一、修改模塊的build.gradle
在build.gradle的dependencies節點內部補充下面的導包語句,把ExoPlayer用到的相關庫都加進來。
二、編輯播放界面的布局文件
打開播放界面的XML布局文件,給根布局添加如下的屬性配置:
接著在布局內部添加來自ExoPlayer庫的PlayerView控件節點,舉例如下:
三、活動頁面代碼增加ExoPlayer的處理代碼
首先補充下面一行代碼聲明PlayerView對象:
接著在onCreate方法里面補充以下代碼,獲取PlayerView對象,并對其設置ExoPlayer的播放器對象:
然后添加下面的播放方法,開始播放指定鏈接的網絡視頻。
從上述的播放代碼可知,這里用到了ExoPlayer的四種播放形式,分別為:播放HLS鏈接、播放RTMP鏈接、播放RTSP鏈接、播放普通網絡視頻。
四、給AndroidManifest.xml補充互聯網訪問權限
打開AndroidManifest.xml,添加下面的互聯網權限配置:
最后編譯運行App,在真機上看到的播放器效果如下圖所示。

可見成功把Media3的ExoPlayer庫跑了起來,并且正常播放網絡視頻。
更多詳細的FFmpeg開發知識參見
?
浙公網安備 33010602011771號