如何在android API 21及更高版本中使用synthesizeToFile

时间:2017-01-03 11:32:56

标签: android media-player text-to-speech audio-recording writetofile

    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及以下,代码运行正常。

0 个答案:

没有答案