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,比如加上进度条,横竖屏切换,尝试添加直播流等。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐