0

我有一个 VideoView,我使用 addSubtitleSource 以编程方式加载到字幕中。

这一切正常,但是只有当用户在系统辅助功能设置内的字幕首选项中设置了“显示字幕”时才会显示它们。

理想情况下,无论设置如何,我都希望显示字幕。这可能吗?

我知道我可以将 TimedTextListeners 与 MediaPlayer 一起使用,这是我应该研究的替代方法,而不是 VideoView,还是只会显示相同的行为?

甚至推出我自己的字幕渲染?

(注意 - 目前,我不能立即支持 ExoPlayer,所以理想情况下需要不使用它的解决方案!)

4

1 回答 1

0

因此,进一步研究,如果用户的辅助功能设置启用了“显示字幕”,VideoView 只会显示字幕,没有其他方法可以显示字幕。这很烦人。

所以我已经切换到直接使用 MediaPlayer 并使用 addTimedTextListener 并从中处理事件 - 在顶部的 TextView 中自己渲染字幕。

然而,我看到了一个我将在另一个问题中发布的错误,TimedTextListner 似乎只在新标题的开始时间触发事件,当标题结束时我没有收到事件(我希望触发 TimedTextListener标题结束时带有“空”文本)。

这是我关于 srt 不处理结束时间戳的另一个问题Android MediaPlayer addTimedTextSource 不通知标题“结束”时,仅当标题“开始”时

于 2021-06-04T10:38:50.437 回答