各位大牛好,最近在下在寫一個學習語言類的 App,需要 tts 功能去實作對句子的順序播放,停止,前一句,后一句,回圈當前句。
目前對輸入的文本進行處理,用字串陣列存盤每一句話。
Play 按鍵的代碼如下
List<String> string = TxtReader.getStringList(inputStream1);
String[] sentenceArray = string.toArray(new String[0]);
SENTENCE = sentenceArray[r].split("(?<=[\n])");
for (int r=1;r<sentenceArray.length;r++){
for (int i=0; i<SENTENCE.length; i++){
String toSpeak = SENTENCE[i].toString();
System.out.println("to speak: " + toSpeak);
mSpeech.speak(toSpeak,TextToSpeech.QUEUE_ADD,null); //QUEUE_FLUSH not work
}
}
請教一下 rewind, forward, repeat 按鍵的代碼可以借助什么方法來實作嗎?
uj5u.com熱心網友回復:
XxLanguageService service;播放句子都放到service管理nextBtn.setOnClickListener(v-> speak(service.getNext());
repeatBtn.setOnClickListener(v-> speak(service.getCur());
......
uj5u.com熱心網友回復:
謝謝大牛提供的思路。對 service 管理不熟,后來通過下面這個方式解決了。再次感謝。
private class ttsUtteranceListener extends UtteranceProgressListener {
@Override
public void onStart(String utteranceId) {
curr ++;
System.out.println("current sentence: " + curr);
}
@Override
public void onDone(String utteranceId) {
}
@Override
public void onError(String utteranceId) {
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/91376.html
標籤:Android
上一篇:8821 wifi_BT 模塊 機器, 連網路上網,連藍牙遙控, 五分鐘后,藍牙遙控進入休眠,網路也會被 斷開。
