android-如何在api 21中使用TextToSpeech
但是函数android-如何在api 21中使用TextToSpeech,android,text-to-speech,Android,Text To Speech,但是函数speak(字符串文本、int-queueMode、HashMap-params)在API级别21中被弃用。如何解决此问题?是的,您是正确的,它已被弃用,直到您使用的API 21: public class MainActivity extends AppCompatActivity implements TextToSpeech.OnInitListener { private TextToSpeech tts; @Override protected void
speak(字符串文本、int-queueMode、HashMap-params)
在API级别21中被弃用。如何解决此问题?是的,您是正确的,它已被弃用,直到您使用的API 21:
public class MainActivity extends AppCompatActivity implements TextToSpeech.OnInitListener {
private TextToSpeech tts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tts = new TextToSpeech(this,this);
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener callStateListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
if(state== TelephonyManager.CALL_STATE_RINGING ){
tts.speak(incomingNumber+" calling", TextToSpeech.QUEUE_FLUSH, null);
Toast.makeText(getApplicationContext(),"Phone is Ringing : "+incomingNumber,Toast.LENGTH_LONG).show();
}
}
};
}
@Override
public void onInit(int status) {
}
}
只需将null
传递给utteranceId
参数
更多关于为什么有人应该努力发布到stackoverflow以传递null的信息?第三个参数具有重要意义。。正确的?
public int speak (String text, int queueMode, HashMap<String, String> params)
...
tts.speak(incomingNumber+" calling", TextToSpeech.QUEUE_FLUSH, null, null);