文本转语音TTS开发Android11适配方案

在调用android TextToSpeech接口能力时,遇到了android版本兼容问题,在android11系统下运行应用发现TextToSpeech实例初始化出错,而在以往的android版本中并未出现此问题~

本文给大家分享下TextToSpeech接口开发在android11系统下的适配方案,来解决TextToSpeech初始化出错的问题~

参考google官方开发文档:https://developer.android.google.cn/reference/android/speech/tts/TextToSpeech?hl=zh_CN

错误重现

如果是在android模拟器中测试TTS,需要先安装TTS引擎到模拟器中

1.编写TextToSpeech实例初始化代码



2.启动装载android11系统的模拟器来运行app,并观察控制台日志输出



3.根据日志打印,观察到TextToSpeech初始化失败了,返回了ERROR的状态码

解决方法

查询google官方开发文档后,发现在android11系统下对于使用到TTS能力的应用,需要修改应用中的AndroidManifest.xml清单声明


根据文档指引,在AndroidManifest.xml中添加如下的xml代码声明

运行效果

增加以上配置声明后,再次在android11系统的模拟器中运行app,观察日志输出



可以看到,TextToSpeech实例化已经成功了,接下来就可以基于TextToSpeech的实例实现TTS文本转语音能力调用了


完整测试工程:https://github.com/netbuffer/android-technology-test/tree/master/ttstest

你可能感兴趣的:(文本转语音TTS开发Android11适配方案)