解析m3u8视频地址首先要配置一下Exoplayer环境 我的AndroidStudio版本为2021.2.1 Patch 1
打开Gradle Scripts-->build.grdle(.app)
在dependencies里面加上下面代码
implementation 'com.google.android.exoplayer:exoplayer:2.17.1'
implementation 'com.google.android.exoplayer:exoplayer-hls:2.17.1'
在buildTypes里面加入下面代码
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
如图
等待更新环境后开始正题了 在layout里面的activity_main.xml文件中创建StyledPlayerView控件
<com.google.android.exoplayer2.ui.StyledPlayerView
android:id="@+id/playerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:show_buffering="when_playing"
android:background="@color/black"
/>
最后在MainActivity.java中下面代码
//在class下定义
private StyledPlayerView mStyledPlayerView;
private ExoPlayer mExoPlayer;
private MediaItem mMediaItem;
String url="http://xxx.m3u8";
//下面的是onCreate里面的
mExoPlayer=new ExoPlayer.Builder(this).build();//创建一个播放器
mStyledPlayerView.setPlayer(mExoPlayer);//将播放器绑定到播放器视图上
mExoPlayer.setPlayWhenReady(true);//设置播放器在准备好后开始播放
mExoPlayer.setRepeatMode(ExoPlayer.REPEAT_MODE_ALL);//设置播放器重复播放
mMediaItem=new MediaItem.Builder()
.setUri(url))
.setMimeType(MimeTypes.APPLICATION_M3U8)
.build();
mExoPlayer.setMediaItem(mMediaItem);//设置播放器播放的媒体
mExoPlayer.prepare();//准备播放器
mExoPlayer.play();//播放播放器