textToSpeech.synthetizeToFile创建一个损坏的文件?

时间:2016-07-24 02:46:09

标签: android file text-to-speech corrupt

public function count(){
if(count($banners) > 0){
        $banner = $banners[0];
  }
    return redirect('/dspanel/3/2');
}

这是我应该将音频保存到文件中的功能。方法synthesizeToFile返回0,这意味着SUCCESS,并创建文件,但它已损坏,它不能在任何媒体播放器中播放。我使用方法的弃用版本,因为我的版本是16.我也有

@SuppressWarnings("deprecation")
private void saveAudio(String text)
{
    HashMap<String, String> myHashRender = new HashMap();
    String textToConvert = text;
    String destinationFileName = "/sdcard/audio.wav";
    myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, textToConvert);
    tts.synthesizeToFile(textToConvert, myHashRender, destinationFileName);
}

此代码有什么问题?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

是的,它创建了空音频文件。但是,当我评论下一个代码片段中的最后一行时,它开始正确地写入文件:

        String sLcl = screen7thTextFileUri.getPath();
        iLcl=sLcl.lastIndexOf(File.separator);
        sLcl=sLcl.substring(0,iLcl);
        String textLcl = getTypedText();
        mTts.synthesizeToFile(textLcl, null, new File(sLcl+"/test.wav"),"0");
        mTts.speak(textLcl , TextToSpeech.QUEUE_FLUSH, null);