【发布时间】:2020-11-28 05:53:17
【问题描述】:
高达 API 29 tts 在 android 上运行良好,可以说出任何文本
但 API 30 tts 不再工作,我不知道为什么
谷歌文档说:
“使用文本转语音的面向 Android 11 的应用应在其清单的元素中声明 TextToSpeech.Engine#INTENT_ACTION_TTS_SERVICE”
我不完全知道它们的含义以及如何在清单中实现这一点。
我希望任何人都可以帮助我。
【问题讨论】:
高达 API 29 tts 在 android 上运行良好,可以说出任何文本
但 API 30 tts 不再工作,我不知道为什么
谷歌文档说:
“使用文本转语音的面向 Android 11 的应用应在其清单的元素中声明 TextToSpeech.Engine#INTENT_ACTION_TTS_SERVICE”
我不完全知道它们的含义以及如何在清单中实现这一点。
我希望任何人都可以帮助我。
【问题讨论】:
虽然可能不是最佳答案(或者可能只是 Android 部分的一个小故障),但在清单中的 <application 上方添加以下代码。
<queries>
<intent>
<action android:name="android.intent.action.TTS_SERVICE" />
</intent>
</queries>
<application
android:allowBackup="false"
添加此代码后,我的 TTS 服务再次开始工作,但我确实从清单文件中收到了关于它不允许在那里的警告,但清单中的任何地方都会发出相同的警告,所以我用 <!--suppress AndroidElementNotAllowed --> 来压制它在顶部的<manifest 标记上方。
【讨论】:
@jayce 的回答有助于应用程序针对 Android 11 https://developer.android.com/reference/android/speech/tts/TextToSpeech
注意:很抱歉有噪音,但我没有足够的声誉来发表评论。
【讨论】: