spoken1 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR){
spoken1.setLanguage(Locale.US);
}
}
})
f1 = new File("test1.wav");
abc = spoken1.synthesizeToFile("text",null, f1, "test12");
大家好,我是android和java开发的新手。目前,我正在为将TTS转换为音频文件的小应用程序工作。我也让应用程序说出我想要的东西。我坚持使用在API级别21及以上版本中弃用的synthesizeToFile。 " abc"的价值变量总是" -1"。我也找到了谷歌的一些帮助,但没有得到API等级21及以上的答案
有人知道如何使synthesizeToFile方法返回正值吗?并将音频文件也提供给媒体库?
编辑:
我找到了原因,如何为创建文件授予权限是在Android版本之间进行更改,在我的本地VM上是Android API级别24,它应该请求运行权限,并且清单中的更改权限对于API级别24来说是不够的。
此外,如果API级别22及以下,代码运行正常。