2017-07-21 70 views
2

Android Studio有點新鮮。試圖建立一個基本的TTS應用程序,並正在本上這條線上面的錯誤:通話需要API等級21(當前是14)

t1.speak(toSpeak,TextToSpeech.QUEUE_FLUSH,null,null); 

正如我所說的,我有些新到Android工作室,這樣我不知道人們需要什麼其他文件請參閱以解決此問題,請讓我知道,如果需要,我會提供更多信息。

回答

0

試試這個。

替換T1 TTS,並用toSpeak文本,它應該爲API工作的上方和下方21.

public void speak(String text) { 
    if (tts != null) { 

     if (tts.isSpeaking()) { 
      tts.stop(); 
     } 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      ttsGreater21(text); 
     } else { 
      ttsUnder20(text); 
     } 

    } 
} 

@SuppressWarnings("deprecation") 
private void ttsUnder20(String text) { 
    HashMap<String, String> map = new HashMap<>(); 
    map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "MessageId"); 
    tts.speak(text, TextToSpeech.QUEUE_FLUSH, map); 
} 

@TargetApi(Build.VERSION_CODES.LOLLIPOP) 
private void ttsGreater21(String text) { 
    String utteranceId = this.hashCode() + ""; 

    tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, utteranceId); 
} 
+0

見[此](https://stackoverflow.com/questions/19465049/changing-api -level-android-studio?rq = 1)問題。 –

相關問題