Android新播放器Ijkplayer集成教程

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

 

4. 设置路径和播放类型

// init player
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");

mVideoView.setVideoPath(mVideoPath, IjkVideoView.IJK_TYPE_HTTP_PLAY);
  • 可供选择的url类型
### 根据播放地址类型设置不同的类型 .

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();
}

你可能感兴趣的:(Android新播放器Ijkplayer集成教程)