WebVtt 字幕不显示(不工作)
WebVtt subtitles not displaying( not working)
我正在使用演示播放器和 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;
}
}
好的,这就是解决方案,上面的代码没有任何问题,问题是我正在尝试的字幕文件已损坏,因此 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;
}
}
好的,这就是解决方案,上面的代码没有任何问题,问题是我正在尝试的字幕文件已损坏,因此 WebVtt
解析器无法解析。
我试过其他字幕文件后效果很好