ijkplayer是b站开源的的视频播放器。想要使用它的原因是之前在github上看到bilibili开源的弹幕框架,下载体验了一下,感觉很有趣,想着结合两者使用一下。下面先看一下怎么使用ijkplayer吧!
1.引入:
dependencies {
# required, enough for most devices.
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.4'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
# Other ABIs: optional
compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.4'
compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.4'
compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.4'
compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.4'
# ExoPlayer as IMediaPlayer: optional, experimental
compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.4'
}
这边一般来说用前面两条就够了。
2.获取IjkVideoView
IjkVideoView在官方demo里有,我们从这里拿就好了。
从https://github.com/Bilibili/ijkplayer下载它的官方demo,结构如图:
将media包下的东西拷贝到自己的项目中,有些文件会飘红,例如少一些资源等等,少什么就再加什么就好了。
3. 简单的使用
在xml布局中添加IjkVideoView:
<com.ckw.***.IjkVideoView
android:id="@+id/ijk_video_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.ckw.***.IjkVideoView>
代码中:
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
mMediaController = new AndroidMediaController(this, false);
// mVideoView.setMediaController(mMediaController);
mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.vid_bigbuckbunny));
mVideoView.start();
我这里加载的是资源文件raw下的视频(因为没有网络资源给我用,悲剧),原本的IjkVideoView不支持,然后这边改了IjkVideoView中的一些设置就好了。
整体上就是这样,虽然看着很简单,但是真正去做的话,肯定会发生各种各样的问题,一步一步慢慢尝试解决,不要放弃就好了。
之后会继续深入使用ijkplayer,比如加上进度条,横竖屏切换,尝试添加直播流等。