如何在 Exo Player 2 中添加多个字幕
how to add multiple subtitles in Exo Player 2
我想用 ExoPlayer 2 显示字幕。用户可以选择语言(英语、德语或阿拉伯语)。视频链接为 HLS (.m3u8),字幕为 .str 文件。
我找不到任何示例来执行此操作。
有样品吗?
我作为评论添加到您的原始 post 的 将是您围绕文本轨道选择构建 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);
您可以将多个字幕轨道合并到视频源中。接受许多不同的文件格式。
我从 this blog post - but I believe that same code is also in the ExoPlayer documentation. That code block combined with the sample code that I link to in my other answer 那里得到了那个特定的代码示例应该足以让你得到一些字幕。
请告诉我这是否适合你。
我想用 ExoPlayer 2 显示字幕。用户可以选择语言(英语、德语或阿拉伯语)。视频链接为 HLS (.m3u8),字幕为 .str 文件。
我找不到任何示例来执行此操作。
有样品吗?
我作为评论添加到您的原始 post 的 MergingMediaSource
。简单版本如下所示:
MediaSource videoSource = new ExtractorMediaSource(videoUri, ...);
MediaSource subtitleSource = new SingleSampleMediaSource(subtitleUri, ...);
// Plays the video with the sideloaded subtitle.
MergingMediaSource mergedSource = new MergingMediaSource(videoSource, subtitleSource);
您可以将多个字幕轨道合并到视频源中。接受许多不同的文件格式。
我从 this blog post - but I believe that same code is also in the ExoPlayer documentation. That code block combined with the sample code that I link to in my other answer
请告诉我这是否适合你。