首先介紹下這個開源項目,這個開源項目是BiliBli 開源的,首先感謝他們的團隊。
這是開源的地址: https://github.com/Bilibili/ijkplayer
首先我為什么要選這個,因為公司需要做視頻類的功能,所以我就找了 Vitamio和ijkplayer 他們的口碑最好,后來查到說 Vitamio如果商用的話需要授權,這個為了省錢還是擁抱了開源.哈哈
言歸正傳,首先
1、download開源項目
下載下來文件不大,但看看里面的文件發現好多。
2.解壓下來導入工程,導入什么工程呢看下面的紅框
等待一段時間構建完成后就可以看到這樣了,這是可以運行了,但你運行你會發現打開視頻會崩潰
3、解決報錯
視頻打開就報錯,是因為沒有解碼的庫導致的,你可以這樣做
(1).這里我提供工程缺失的so庫
下載地址:https://pan.baidu.com/s/1eSsxXSI
解壓后放入工程,再次運行就可以了如圖
這樣的話其實可以把后綴為 -x86 ,-86_64,armv7a,armv5,arm64 的module移除了(不知道怎么移除module的請看android studio 中移除module和恢復module)。
(2).第二種方法 (沒試估計也是可以的)
參考 : http://blog.csdn.net/u010987039/article/details/52301077
2.1在Gradle中引入 #號是注釋
# required allprojects { repositories { jcenter() } } dependencies { # required, enough for most devices. compile 'tv.danmaku.ijk.media:ijkplayer-java:0.6.1' compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.6.1' # Other ABIs: optional compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.6.1' compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.6.1' compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.6.1' compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.6.1' # ExoPlayer as IMediaPlayer: optional, experimental compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.6.1' }
4.運行就可以了。
簡單解釋下
VideoActivity是播放界面
tv.danmaku.ijk.media.example.widget.media.IjkVideoView 播放控件
AndroidMediaController 是控制器
// 初始化ijkplayer
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
我找到了已經實現播放界面的開源項目,都寫好了注釋的 IjkVideoView。
如果嫌自定義麻煩可以看看這個開源項目也是基於這個的:https://github.com/tcking/GiraffePlayer
也可以參考這個demo:http://download.csdn.net/detail/huaxun66/9698723