Android 11 上的 TextToSpeech

Fra*_*ank 8 android text-to-speech

高达 API 29 tts 在 android 上运行良好,可以说出任何文本

但是在 API 30 tts 上不再工作,我不知道为什么

谷歌文档说:

“面向 Android 11 且使用文本转语音的应用应在其清单元素中声明 TextToSpeech.Engine#INTENT_ACTION_TTS_SERVICE”

我不完全知道它们的含义以及如何在清单中实现这一点。

我希望任何人都可以帮助我解决这个问题。

Jay*_*yce 14

尽管可能不是最佳答案(或者可能只是 Android 部分的一个小故障),但请<application在清单的正上方添加以下代码。

<queries>
    <intent>
        <action android:name="android.intent.action.TTS_SERVICE" />
    </intent>
</queries>

<application
    android:allowBackup="false"
Run Code Online (Sandbox Code Playgroud)

添加此代码后,我的 TTS 服务再次开始工作,但我确实从清单文件中收到一条警告,说明它不允许出现在那里,但清单中的任何地方都给出了相同的警告,因此我在顶部<!--suppress AndroidElementNotAllowed --><manifest标签上方将其抑制.