如果你时间很充裕,并且富有学习精神,那你要先去Github上把它的源码clone下来,是的你自己要先去编译它的源代码。那么你需要安装NDK,因为有些复杂,这里不介绍了。我们直接搞现成的。怎么样?你们喜欢吗?不喜欢也没办法,我们就直接搞!
这里使用的是AndroidStudio 2.1.3,我们只需要在build.gradle里声明一下依赖,如下:
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'
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
这里涉及到了64位的处理器;ijkplayer在64位下要求最低SDK版本为21。
我们只需要下面这些,把64位的剔出去:
// # 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-x86:0.6.1'
// # ExoPlayer as IMediaPlayer: optional, experimental
compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.6.1'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
然后我们需要导入一些代码,这些代码就在这里:
还有一些string,导入进来就OK,这样我们的工作完成了一大半了,剩下的就简单了。
首先我们在布局里引入ijkplayer的播放视频的控件IjkVideoView
:
<tv.danmaku.ijk.media.widget.media.IjkVideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"/>
- 1
- 2
- 3
- 4
- 5
然后在代码里这样写:
mVideoPath = getIntent().getStringExtra("stream_addr");
mVideoView = (IjkVideoView) findViewById(R.id.video_view);
// init player
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
if (mVideoPath != null) {
mVideoView.setVideoPath(mVideoPath);
}
mVideoView.start();
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
最后声明一下权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
- 1
- 2
- 3
- 4
好了。基本步骤完了。
发送礼物 参考 https://github.com/Qiang3570/LiveLayout
我们去哪里搞数据呢?我们去哪里搞美女的直播视频呢?这里对映客直播说声对不起,我要在你那里搞数据。具体怎么抓的数据,我就不告诉你我用的Charles。具体怎么抓的就不讲了,网上很多讲这个的。
最后我们的效果是这样的:
关于有些头像不显示,因为映客直播的这些图使用的是不同的地址,我没有深究,所有大家凑合着看吧。
还有我改了一些代码,删掉一些不用的代码:
比如AndroidMediaController,调整视频的播放比例。可能有的人在集成ijkplayer的时候遇到视频播放的时候,两边会有白边(蓝边)的事情,其实就是修改一下视频的播放比例就OK了。代码都在IjkVideoView
里,去设置一下mCurrentAspectRatio
这个属性就OK。