WebVtt字幕不显示(不工作)

时间:2016-09-07 11:56:45

标签: android exoplayer webvtt

我正在使用演示播放器和ExtractorRendererBuilder从url流式传输视频,但是当我通过webVtt url时它不显示字幕,我做错了什么?

if(!TextUtils.isEmpty(subtitleUrl)) {
            DataSource textDataSource = new DefaultUriDataSource(context, bandwidthMeter, userAgent);
            SingleSampleSource textSampleSource = new SingleSampleSource(Uri.parse(subtitleUrl), textDataSource,
                    MediaFormat.createTextFormat("id", MimeTypes.TEXT_VTT, MediaFormat.NO_VALUE, TrackRenderer.MATCH_LONGEST_US,
                            "eng"));

            TrackRenderer textRenderer = new TextTrackRenderer(textSampleSource, player,
                    mainHandler.getLooper(), new WebvttParser());
            renderers[DemoPlayer.TYPE_TEXT] = textRenderer;
            Log.e("sub", "loaded");
        }
player.onRenderers(renderers, bandwidthMeter);

@Override
public void onStateChanged(boolean playWhenReady, int playbackState) {
    switch(playbackState) {
        .....
        case ExoPlayer.STATE_READY:
            Log.e("sub", "ready");
            player.setSelectedTrack(DemoPlayer.TYPE_TEXT, DemoPlayer.TYPE_TEXT);
            break;
        default:
            break;
    }
}

1 个答案:

答案 0 :(得分:1)

好的,所以这是解决方案,上面的代码没有任何问题,问题是我正在尝试的字幕文件已损坏,因此无法由WebVtt解析器进行解析。

一旦我尝试使用其他字幕文件,这很有用