Android 如何在Exo Player 2中添加多个字幕

Android 如何在Exo Player 2中添加多个字幕,android,subtitle,exoplayer,Android,Subtitle,Exoplayer,我想用ExoPlayer 2显示字幕。用户可以选择语言(英语、德语或阿拉伯语)。视频链接为HLS(.m3u8),字幕为.str文件 我找不到任何样品来做这个 有任何示例吗?我在您的原始帖子中添加的注释将是您如何围绕文本曲目选择构建UI。然后,为了实际获得要添加到mp4文件中的曲目(或任何格式),您需要使用MergingMediaSource。简单的版本如下所示: MediaSource videoSource = new ExtractorMediaSource(videoUri, ...);

我想用ExoPlayer 2显示字幕。用户可以选择语言(英语、德语或阿拉伯语)。视频链接为HLS(.m3u8),字幕为.str文件

我找不到任何样品来做这个

有任何示例吗?

我在您的原始帖子中添加的注释将是您如何围绕文本曲目选择构建UI。然后,为了实际获得要添加到mp4文件中的曲目(或任何格式),您需要使用
MergingMediaSource
。简单的版本如下所示:

MediaSource videoSource = new ExtractorMediaSource(videoUri, ...);
MediaSource subtitleSource = new SingleSampleMediaSource(subtitleUri, ...);
// Plays the video with the sideloaded subtitle.
MergingMediaSource mergedSource = new MergingMediaSource(videoSource, subtitleSource);
您可以将多个字幕曲目合并到视频源中。可以接受许多不同的文件格式

我从中获得了特定的代码示例,但我相信ExoPlayer文档中也有相同的代码。这个代码块加上我在另一个答案中链接到的示例代码应该足以为您提供一些字幕


请告诉我这是否适合您。

我有一个关于视频曲目选择的答案,但同样的逻辑也适用于字幕曲目选择。如果你需要更多的信息,我可以在这里写一个更深入的答案。请告诉我:)我的字幕不在hls文件中。字幕文件是本地的。如果你能回答这个问题,我真的很感激