2010-12-17 85 views
2

我用TTS Android刪除addSpeech項目?

mTts.addSpeech(text, filename.getAbsolutePath()); 

音頻文件映射到文本的特定字符串。

問題是,如果使用刪除文件,這可能/可能在我的情況下,我需要從mTts(使用removeSpeech()不存在)刪除addSpeech映射,以便它恢復到電腦語音。

這是可能的嗎?

這是我使用addSpeech添加文件後得到的堆棧跟蹤,然後刪除文件並嘗試再次發言。

12-17 15:41:45.016: ERROR/MediaPlayer(361): error (1, -2147483648) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361): create failed: 
12-17 15:41:45.056: DEBUG/MediaPlayer(361): java.io.IOException: Prepare failed.: status=0x1 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.media.MediaPlayer.prepare(Native Method) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.media.MediaPlayer.create(MediaPlayer.java:611) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.media.MediaPlayer.create(MediaPlayer.java:588) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.tts.TtsService.processSpeechQueue(TtsService.java:1098) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.tts.TtsService.speak(TtsService.java:507) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.tts.TtsService.access$1900(TtsService.java:58) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.tts.TtsService$1.speak(TtsService.java:1256) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.speech.tts.ITts$Stub.onTransact(ITts.java:86) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at android.os.Binder.execTransact(Binder.java:288) 
12-17 15:41:45.056: DEBUG/MediaPlayer(361):  at dalvik.system.NativeStart.run(Native Method) 

回答

0

從API:

公衆詮釋addSpeech(字符串文本,字符串文件名)

添加文本字符串和聲音文件之間的映射。使用這個,可以爲一串文本添加自定義發音。這種方法的調用之後,後續調用

說話(字符串,整數,HashMap中)

將播放指定的聲音資源(如果可用),或合成它缺少文本。

因此,有可能

我寫簡單的方法。有用。

private void speak(String text) { 
    if(text != null) { 
     HashMap<String, String> myHashAlarm = new HashMap<String, String>(); 
     myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM)); 
     myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "end of message - "+text); 
     mTts.speak(text, TextToSpeech.QUEUE_FLUSH, myHashAlarm); 
    } 
} 
+0

我加堆棧跟蹤我得到我這樣做是爲了我的問題時 – jax 2010-12-17 08:44:26

+0

嘗試在你的代碼 – mysuperass 2010-12-17 09:10:23

+0

還是評論removeSpeech()沒有成功恐怕 – jax 2010-12-19 07:07:31