m3u8是一种很常见的视频格式,下面我推荐一种实现方式
首先在model下的gradle添加
implementation'com.github.leifzhang:IjkLib:0.4.4'
xml中
<tv.danmaku.ijk.media.widget.media.IjkVideoView android:id="@+id/ijvideo" android:layout_width="wrap_content" android:layout_height="wrap_content" />
java代码
IjkVideoView mIjvideo=findViewById(R.id.ijvideo);
mIjvideo.changeAspectRaito(3);
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
AndroidMediaController controller = new AndroidMediaController(this, false);
mIjvideo.setMediaController(controller);
String url = getUrl();//换成自己的m3u8地址
mIjvideo.setVideoURI(Uri.parse(url));
mIjvideo.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() { @Override public void onPrepared(IMediaPlayer iMediaPlayer) { iMediaPlayer.start(); }});
mIjvideo.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() { @Override public void onPrepared(IMediaPlayer iMediaPlayer) { iMediaPlayer.start(); }});
@Override protected void onResume() { super.onResume(); mIjvideo.resume(); if (!mIjvideo.isPlaying()) { mIjvideo.start(); }}@Override protected void onPause() { super.onPause(); mIjvideo.pause();}@Override protected void onDestroy() { super.onDestroy(); IjkMediaPlayer.native_profileEnd(); }