2016-07-24 136 views
2
@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); 
} 

這是我應該將音頻保存到文件中的功能。方法synthesizeToFile返回0,這意味着SUCCESS,並創建該文件,但它已損壞,它不在任何媒體播放器中播放。我使用該方法的已棄用版本,因爲我的版本是16.我也有textToSpeech.synthetizeToFile創建一個損壞的文件?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

此代碼有什麼問題?

預先感謝您。

+0

您在使用過程偵聽器或話語完成監聽,確認文件已經完成寫作,嘗試播放前/聽吧? – brandall

回答

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);