ExoPlayer 内置字幕自动显示设置方法
要让 ExoPlayer 内置字幕自动显示,需要在播放器中设置一些参数。具体操作如下:
- 在布局文件中添加 ExoPlayerView 控件:
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/player_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
- 在代码中设置播放器参数:
// 创建播放器
SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
// 设置播放器控件
PlayerView playerView = findViewById(R.id.player_view);
playerView.setPlayer(player);
// 创建字幕渲染器
DefaultTrackSelector trackSelector = new DefaultTrackSelector(context);
trackSelector.setParameters(trackSelector.buildUponParameters().setPreferredTextLanguage('en')); // 设置字幕语言
player.setTrackSelector(trackSelector);
// 创建媒体源
MediaSource mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
.createMediaSource(Uri.parse('http://example.com/video.mp4'));
// 准备播放器
player.prepare(mediaSource);
// 开始播放
player.setPlayWhenReady(true);
在上面的代码中,我们创建了一个播放器,设置了播放器控件和字幕渲染器。然后创建了一个媒体源,并准备播放器。最后,开启播放器并自动显示字幕。
需要注意的是,字幕需要在媒体源中包含才能自动显示。如果媒体源中不包含字幕,可以使用 SubtitleView 控件手动加载字幕文件。
原文地址: https://www.cveoy.top/t/topic/jIaB 著作权归作者所有。请勿转载和采集!