1

即使在通过 Stackoverflow 和其他线程上的许多问题之后,我们也无法在 Exoplayer 中找到任何解决字幕问题的方法。

以下是我们用来从本地存储加载视频和字幕的代码片段。

public void setVideo(String absolutePath, String vtt){
    player = new SimpleExoPlayer.Builder(this).build();
    videoView.setPlayer(player);
  //  MediaItem mediaItem = MediaItem.fromUri(absolutePath);
    MediaItem.Subtitle subtitle = new MediaItem.Subtitle(Uri.parse(vtt),MimeTypes.TEXT_VTT,"en-US");
    List<MediaItem.Subtitle> subtitleList = new ArrayList<>();
    subtitleList.add(subtitle);


    videoView.setShowSubtitleButton(true);
    MediaItem mediaItem = new MediaItem.Builder()
            .setUri(absolutePath)
            .setDrmUuid(C.WIDEVINE_UUID)
            .setDrmMultiSession(true)
            .setSubtitles(subtitleList)
            .build();
    player.setMediaItem(mediaItem);
    player.setPlayWhenReady(true);
    player.prepare();

}

absolutePath是视频vtt的路径,也是 .srt 字幕文件的路径。我们非常感谢任何建议或替代方法来实现这一目标。

4

0 回答 0