https://github.com/Bilibili/ijkplayer
集成環(huán)境macOS 10.13.3
集成方式 自己編譯.so文件
步驟:
安裝git 與yasm
brew install git
brew install yasm
windows 環(huán)境應(yīng)該可以通過cygwin進(jìn)行編譯(官方說明)
on Cygwin (unmaintained)
install git, make, yasm
添加sdk 環(huán)境變量
export ANDROID_SDK=<your sdk path>
export ANDROID_NDK=<your ndk path>
注意 這里的ndk 版本不得超過14b黄鳍,若使用的android ndk 是最新的16版本需要去android 官網(wǎng)下載一份14b以下的ndk 并將其放到環(huán)境變量中
按照官方教程
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8
./init-android.sh
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
cd ..
./compile-ijk.sh all
等待編譯完成 沉唠。
注意 在下載ffmpeg 時候可能會十分的慢 這時需要給git 設(shè)置一個 代理堕油,這里有shadowsockets 的同學(xué)可以打開你們的客戶端--高級設(shè)置 查看你們socket5 的本地監(jiān)聽ip地址與端口號
通過命令
git config --global http.proxy 'socks5://127.0.0.1: 你的端口號'
git config --global https.proxy 'socks5://127.0.0.1: 你的端口號'
來配置 對git的http 與https 的全局代理
這時速度就很快了
編譯完成之后贡耽,找到 你的文件夾/.../ijkplayer 文件夾
后面那些都是cpu 的類型 我們只需要里面的so包 同時還需要 example中的控件季希。。。省得自己寫了 只需要改下布局文件就可以使用了。
集成過程:
可以在修改之前先復(fù)制一份備份 要不然還要重新編譯
1.打開example 項目中的build.gradle文件
將dependencies 中 compile的 project 全都刪掉
我們只需要ijkplayer-java 這個項目作為依賴查剖,但是不依賴本地的 我們可以使用遠(yuǎn)程倉庫的依賴
- 將 example 項目中的build.gradle文件 中的
apply plugin: 'com.android.application'
修改為apply plugin: 'com.android.library'
我們將其當(dāng)做一個model 引入項目
修改完的文件如下
3.修改完成后 我們將 ijkplayer-example 集成進(jìn)我們的項目
點開
點擊 + 號
選擇 import gradle project
點擊下一步
選擇你的 ijkplayer-example項目文件夾
這時我們就集成進(jìn)我們的項目了
4.創(chuàng)建jniLibs 文件夾,將編譯生成的那些項目中 lib 文件夾下的 so 包都黏貼進(jìn)我們的項目下的 jnilibs 文件夾中
注意 命名一定要 jniLibs 否則會報so 找不到的錯誤噪窘,也可以添加sourceset main 重新聲明jnilibs.src的聲明 不過還是建議使用默認(rèn)的文件夾名字
-
根據(jù)需求修改源代碼
由于我們只是集成一個播放視頻的控件進(jìn)入項目 所以示例工程中的 acticity啊 fragment 什么的都是不需要的 笋庄,同時 AndroidManifest.xml 文件也需要修改。
然后就可以愉快的使用進(jìn)行播放視頻了