Android新播放器Ijkplayer集成教程
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
<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);
- 可供选择的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();
}
-
想知道ijkplayer是如何编译的吗,下篇文章我们来聊聊 如何编译你的ijkplayer打开rtsp开关、h265、pcma等编码支持,敬请期待!
-
友联 & 相关开源项目源码出处.
GitHub - jdpxiaoming/PPlayer: ffmpeg 4.0.2静态库从0开始一个播放器的搭建,支持rtmp、rtsp、hls、本地MP4文件播放,音视频同步,直播推流
GitHub - jdpxiaoming/ijkrtspdemo: ijkplayer open the rtsp & h265 surpport android demo .