2012-06-17 45 views
6

Tôi đang phát triển một ứng dụng có thể đọc văn bản trong tài liệu và tôi muốn thêm chức năng tạm dừng và tiếp tục nhưng tôi không thể tìm thấy bất kỳ phương thức pause() nào trong TTS. Có cách nào mà tôi có thể tạm dừng ..?Tạm dừng trong TTS android

Trả lời

5

Có một cách để tạm dừng. Chỉ cần gọi TextToSpeech.playSilence() xem mã bên dưới từ here.

Nó nói một số văn bản thực tế cùng với một số khoảng lặng.

private void playScript() 
{ 
    Log.d(TAG, "started script"); 
// setup 

// id to send back when saying the last phrase 
// so the app can re-enable the "speak" button 
HashMap<String, String> lastSpokenWord = new HashMap<String, String>(); 
lastSpokenWord.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, 
     LAST_SPOKEN); 

// add earcon 
final String EARCON_NAME = "[tone]"; 
tts.addEarcon(EARCON_NAME, "root.gast.playground", R.raw.tone); 

// add prerecorded speech 
final String CLOSING = "[Thank you]"; 
tts.addSpeech(CLOSING, "root.gast.playground", 
     R.raw.enjoytestapplication); 

// pass in null to most of these because we do not want a callback to 
// onDone 
tts.playEarcon(EARCON_NAME, TextToSpeech.QUEUE_ADD, null); 
tts.playSilence(1000, TextToSpeech.QUEUE_ADD, null); 
tts.speak("Attention readers: Use the try button to experiment with" 
     + " Text to Speech. Use the diagnostics button to see " 
     + "detailed Text to Speech engine information.", 
     TextToSpeech.QUEUE_ADD, null); 
tts.playSilence(500, TextToSpeech.QUEUE_ADD, null); 
tts.speak(CLOSING, TextToSpeech.QUEUE_ADD, lastSpokenWord); 

}

3

lớp TextToSpeech có khả năng thêm một (cấp hoặc cho api 15+ setOnUtteranceProgressListener) setOnUtteranceCompletedListener mà sẽ cho phép bạn đính kèm một người biết lắng nghe khi các utterence TTS được hoàn thành và sau đó bạn có thể bắt đầu utterence thứ hai của bạn, hoặc tạm dừng của bạn, hoặc bất cứ điều gì bạn cần ..

Các vấn đề liên quan