Android VideoView addSubtitleSource - 无论可访问性设置如何,都可以启用它吗?

Posted

技术标签:

【中文标题】Android VideoView addSubtitleSource - 无论可访问性设置如何,都可以启用它吗?【英文标题】:Android VideoView addSubtitleSource - Is it possible to enable it regardless of accessibility settings? 【发布时间】:2021-06-02 13:45:33 【问题描述】:

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

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

这是我关于 srt 的另一个问题,不处理结束时间戳android MediaPlayer addTimedTextSource not notifying when caption 'ends', only when a caption 'starts'

【讨论】:

以上是关于Android VideoView addSubtitleSource - 无论可访问性设置如何,都可以启用它吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android开发之使用VideoView播放视频

Android VideoView 在 stopPlayback() 后清除显示

android 修改videoview的宽度和高度

VideoView - Android 活动关闭

如何在 Android Studio 中将一个 VideoView 放在另一个 VideoView 下方?

无法在android的videoview中播放来自url的视频如何在videoview中播放来自URL的视频?