android 11 无法调用TTSUtils离线合成语音
时间: 2023-10-23 08:08:24 浏览: 41
可能是因为 Android 11 对权限进行了更严格的限制,需要在代码中进行相关的权限申请。你可以在代码中添加以下权限申请:
```xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
另外,你可以在代码中添加以下代码以获取 TTS 引擎的实例:
```java
TextToSpeech tts = new TextToSpeech(context, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
// 获取 TTS 引擎实例成功,可以进行相关操作
} else {
// 获取 TTS 引擎实例失败
}
}
});
```
在获取 TTS 引擎实例成功后,你可以使用以下代码进行离线语音合成:
```java
tts.setLanguage(Locale.CHINA);
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
```
其中,`text` 是要合成的文本内容。