ijk编译环境信息
- Ijkplayer-0.8.8
- 支持rtsp
- 支持http
- 支持hls
- 支持rtmp
- 支持h265
- 支持arm64/armv7a
1. 引入私有库地址.
repositories {
maven {
url 'http://172.16.22.18:8081/repository/maven-public/'
}
...
}
2. 在主项目中build.gradle引入以下库
implementation 'tv.danmaku.ijk.media:ijkplayer-view:0.8.8@aar'
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8@aar'
//看情况如果需要64位so则引入.
implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8@aar'
3. xml引入播放器view
<tv.danmaku.ijk.media.ijkplayerview.widget.media.IjkVideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
/>
4. 设置路径和播放类型
// init player
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
mVideoView.setVideoPath(mVideoPath, IjkVideoView.IJK_TYPE_HTTP_PLAY);
### 根据播放地址类型设置不同的类型 .
public static final int IJK_TYPE_LIVING_WATCH = 1; //实时监控,要求首开速度,延迟略高一点
public static final int IJK_TYPE_LIVING_LOW_DELAY = 2; //实时直播要求低延迟,不要求首开熟读 .
public static final int IJK_TYPE_HTTP_PLAY = 3;//录播 mp4 /hls/flv...
public static final int IJK_TYPE_FILE_PLAY = 10;//本地文件播放 .
public static final int IJK_TYPE_PLAY_DEFAULT = IJK_TYPE_LIVING_WATCH;//默认播放类型.
5. 停止播放,销毁
@Override
protected void onStop() {
super.onStop();
Log.i("poe","onStop()");
if (mBackPressed || !mVideoView.isBackgroundPlayEnabled()) {
mVideoView.stopPlayback();
mVideoView.release(true);
mVideoView.stopBackgroundPlay();
} else {
mVideoView.enterBackground();
}
IjkMediaPlayer.native_profileEnd();
}