gpt4 book ai didi

android - TalkBack 读取时间错误

转载 作者:行者123 更新时间:2023-11-29 15:39:14 31 4
gpt4 key购买 nike

当 TextView 包含 foo bar 04:58 时,TalkBack 会说 foo bar 4 hours 58 minutes - 它应该是 foo bar 4 minutes 58 seconds 。另一方面,foo bar 04:24:05 工作正常:foo bar 4 小时 24 分 5 秒。顺便说一句,我的语言环境是法语。

我想到了一些不雅的修复方法:

  • 将每个 mm:ss 替换为 00:mm:ss
  • 将每个 mm:ss 替换为 mm minutes ss seconds

有更好的解决方案吗?

最佳答案

这是我建议用内容描述覆盖文本的少数情况之一。你必须扩大它。

假设您有一个 TextView

textView.setText("2:45")

textView.setContentDescription("2 minutes 45 seconds")

TextView 上的内容描述作为替代文本,将被读出。这实际上会产生其他可访问性问题。想象一个 AT 读出文本和内容描述,而不是使用内容描述作为覆盖……呃。但在当前的 Android 辅助功能生态系统中,TalkBack 拥有压倒性的市场份额,该解决方案并非完全邪恶。理想情况下,Text To Speech 引擎不会是愚蠢的。但是,由于 TTS 引擎很笨,我们必须更改 TalkBack 看到的文本,以便读出合理。

您也可以保留它,并注意 TalkBack 用户可以根据需要按字符浏览文本,因此他们可以找出奇怪的 TTS 自动格式。您也可以尝试将 View 更改为如下所示:

textView.setText("2m 45s");

不过,如果我没记错的话,TTS 引擎会将其扩展为“2 米四十五”……太棒了。

编辑:我想这行代码将有助于解决您的其他问题。

timeString.replaceAll("([0-9]{1,2}):([0-9]{1,2})", "$1 minutes $2 seconds");

关于android - TalkBack 读取时间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44019930/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com