QPlayer2是七牛云基于FFmpeg6.1研發(fā)并開源的國產(chǎn)播放器,它可運(yùn)行于Android和iOS系統(tǒng),既支持播放本地視頻文件,也支持播放網(wǎng)絡(luò)上的流媒體鏈接。有關(guān)FFmpeg在Android平臺的集成說明參見《FFmpeg開發(fā)實(shí)戰(zhàn):從零基礎(chǔ)到短視頻上線》一書的“第12章 FFmpeg的移動開發(fā)”。
之前的文章《使用國產(chǎn)的RedPlayer播放器觀看網(wǎng)絡(luò)視頻》介紹了另一款由小紅書研發(fā)的國產(chǎn)播放器RedPlayer,本來RedPlayer已經(jīng)很好用了,誰知QPlayer2又橫空出世,不僅基于FFmpeg6.1,還新增了畫面旋轉(zhuǎn)/鏡像/縮放能力,其Demo工程甚至適配到了Android 15(即API 35)。
這里以Android Studio Dolphin(小海豚版本)為例,介紹如何在App工程中運(yùn)行QPlayer2,詳細(xì)的操作步驟如下。
QPlayer2適配不同系統(tǒng)的源碼分開托管,其中Android版本的源碼托管地址為https://github.com/pili-engineering/QPlayer2-Android。因?yàn)镼Player2的最新源碼基于Gradle8.7,與Android Studio Dolphin(小海豚版本),所以為了讓小海豚版本能夠打開QPlayer2源碼,需要對Qplayer2Demo目錄下的工程配置做如下改動:
1、打開gradle\wrapper\gradle-wrapper.properties,把下面這行
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
改成下面這行,也就是把Gradle8.7降級到Gradle7.2。
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
2、打開項(xiàng)目級別的build.gradle,把下面這行
classpath 'com.android.tools.build:gradle:8.6.1'
改成下面這行,也就是把gradle8.6.1降級到gradle7.1.2。
classpath 'com.android.tools.build:gradle:7.1.2'
3、依次選擇菜單:File→Settings→Build,Execution,Deployment→Build Tools→Gradle,把Gradle JDK欄的版本調(diào)整為JDK17。
4、打開模塊級別的build.gradle,把a(bǔ)ndroid節(jié)點(diǎn)內(nèi)部的下面這行
compileSdk 35
改成下面這行,也就是把編譯SDK版本從API35降級到API34。
compileSdk 34
5、打開模塊級別的build.gradle,把dependencies節(jié)點(diǎn)內(nèi)部的下面四行
implementation "org.jetbrains.kotlin:kotlin-stdlib:2.0.20"
implementation 'androidx.core:core-ktx:1.15.0'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
改成下面三行,也就是把相關(guān)依賴庫統(tǒng)統(tǒng)降級。
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
完成以上配置修改之后,再編譯Qplayer2Demo工程,然后安裝到手機(jī)的QPlayer2首頁如下圖所示:

點(diǎn)擊首頁上方的長視頻按鈕,打開長視頻的演示頁面如下圖所示。

回到首頁,點(diǎn)擊下方的雙播放器按鈕,打開雙播放器的演示頁面如下圖所示。

可見QPlayer2能夠正常播放網(wǎng)絡(luò)視頻。
更多詳細(xì)的FFmpeg開發(fā)知識參見《FFmpeg開發(fā)實(shí)戰(zhàn):從零基礎(chǔ)到短視頻上線》一書。