android - 在华为 P40 Lite 中,TextToSpeech onInit() 以 ERROR 状态被调用
问题描述
我在华为 P40 Lite 中遇到一个奇怪的问题,当使用 TextToSpeech 时,onInit()被调用为 TextToSpeech.ERROR 状态,而不是 TextToSpeech.SUCCESS,特别是在华为 P40 Lite 中,因此导致错误Speak Failed Not Bound调用 tts.speak() 时到 TTS 引擎
上述问题仅在极少数设备中出现,例如华为 P40 Lite。在其他设备中,相同的代码工作正常,即 onInit() 以 TextToSpeech.SUCCESS 状态正确调用。
请帮助我理解,onInit() 失败的原因可能是什么。
解决方案
您可以转到 Android 设置 > 辅助功能 > 语音合成以查看是否有任何 TTS 引擎可用。对于华为和魅族等中国设备,它可能会丢失,因此应单独安装。解决它的最简单方法是转到 Google Play 并安装 Google Text-to-Speech 服务。
推荐阅读
- react-native - 根据本机反应中的数据集更改图表中的笔划线颜色
- arrays - 如何在 Python 中创建大小不同(2D 列表大小不同)的 2D 列表的 3D 列表?
- wear-os - AnyChart 是否支持 WearOS?
- python - 有没有办法在用户登录后立即更改 pyftpdlib 的工作目录
- javascript - 日历 JavaScript 和 laravel 的唯一 ID
- c# - SignalR、ReactJs 和 Dotnet Core:CORS 问题
- c# - 如何获取与特定界面匹配的所有列表项?
- stack - 由于一些错误,我可以编译代码,我可以用手来处理
- html - IOS 上的径向渐变创建了视觉伪影
- android-studio - 使用 kotlin 在 android studio 中膨胀两个布局