导入库在项目的build.gradle文件中添加如下依赖:
1. 导入ijkplayer库
在项目的build.gradle文件中添加如下依赖:
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
2. 在布局文件中添加ijkplayer控件
在xml布局文件中添加一个IjkVideoView,用于播放视频:
3. 初始化ijkplayer
在Activity中初始化IjkVideoView:
// 初始化IjkVideoView IjkVideoView videoView = findViewById(R.id.video_view); // 初始化IjkMediaPlayer IjkMediaPlayer ijkMediaPlayer = new IjkMediaPlayer(); // 设置播放器属性 ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1); // 设置播放地址 String videoUrl = "http://example.com/video.mp4"; videoView.setVideoPath(videoUrl); // 设置播放器 ijkMediaPlayer.setDisplay(videoView.getHolder()); videoView.setMediaPlayer(ijkMediaPlayer); // 开始播放 videoView.start();
4. 添加ijkplayer生命周期回调
在Activity中添加ijkplayer的生命周期回调:
@Override protected void onStart() { super.onStart(); if (videoView != null) { videoView.start(); } } @Override protected void onStop() { super.onStop(); if (videoView != null) { videoView.stopPlayback(); } } @Override protected void onDestroy() { super.onDestroy(); if (videoView != null) { videoView.release(true); videoView.stopBackgroundPlay(); } }
5. 完整代码
public cl MainActivity extends AppCompatActivity { private IjkVideoView videoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化IjkVideoView videoView = findViewById(R.id.video_view); // 初始化IjkMediaPlayer IjkMediaPlayer ijkMediaPlayer = new IjkMediaPlayer(); // 设置播放器属性 ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1); // 设置播放地址 String videoUrl = "http://example.com/video.mp4"; videoView.setVideoPath(videoUrl); // 设置播放器 ijkMediaPlayer.setDisplay(videoView.getHolder()); videoView.setMediaPlayer(ijkMediaPlayer); // 开始播放 videoView.start(); } @Override protected void onStart() { super.onStart(); if (videoView != null) { videoView.start(); } } @Override protected void onStop() { super.onStop(); if (videoView != null) { videoView.stopPlayback(); } } @Override protected void onDestroy() { super.onDestroy(); if (videoView != null) { videoView.release(true); videoView.stopBackgroundPlay(); } } }
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(70条)