ExoPlayer:显示字幕

时间:2017-02-15 05:15:55

标签: android subtitle exoplayer

我使用 ExoPlayer 播放来自网址的音频。我有XML格式的字幕,如下所示:

{{1}}

我知道有一种方法可以在使用ExoPlayer播放时显示字幕。但是,我在开发人员指南https://cloud.google.com/appengine/docs/python/ndb/queries中扫描了所有内容,但没有找到怎么做,因为文档非常糟糕。 另外,字幕的XML格式是否适用于ExoPlayer,如果现在,我应该如何转换它们以及格式。 ExoPlayer ninjas请帮帮我)

2 个答案:

答案 0 :(得分:1)

如果您的字幕 XML 来自 HTTP:

Format subtitleFormat = Format.createTextSampleFormat(
                null, // An identifier for the track. May be null.
                MimeTypes.APPLICATION_SUBRIP, // The mime type. Must be set correctly.
                C.SELECTION_FLAG_DEFAULT, // Selection flags for the track.
                null); // The subtitle language. May be null.

MediaSource subtitleSource = new SingleSampleMediaSource.Factory(dataSourceFactory)
                        .createMediaSource(Uri.parse(subtitleUrl), subtitleFormat, C.TIME_UNSET);

        MergingMediaSource mergedSource =
                new MergingMediaSource(videoSource, subtitleSource);
player.prepare(mergedSource);

答案 1 :(得分:0)

您可以将json转换为.str格式并将其另存为文件。现在ExoPlayer可以显示.str文件。这是一个str格式的样本:

1
00:02:17,440 --> 00:02:20,375
Senator, we're making
our final approach into Coruscant.

2
00:02:20,476 --> 00:02:22,501
Very good, Lieutenant.