最近调试的时候发生了一个奇怪的问题,在用老版本的TTS可以进行语音播报,新版的不行,于是查了下资料发现,从 Android 11 开始,Google 增强了隐私保护,你的 App 默认无法"看见"手机里安装的其他 App(包括系统 TTS 引擎)。导致 TTS 初始化时找不到引擎,从而绑定失败。

解决方法:
在AndroidManifest.xml添加相应的权限
c
<queries>
<intent>
<action android:name="android.intent.action.TTS_SERVICE" />
</intent>
</queries>

问题解决
示例程序:
通过网盘分享的文件:tts.rar
链接: https://pan.baidu.com/s/1_pYA-artJQZT_kurka2udg?pwd=1111 提取码: 1111