我希望在Android上的传入和传出呼叫中停止发送文字语音。请在下面找到我的代码。它在某些设备上运行良好,但在某些设备中,语音在后台讲话。它根本没有停止。 请告诉我代码级别的任何问题。请帮帮我。
提前致谢。
public class TeleListener extends PhoneStateListener {
public void onCallStateChanged(int state, String incomingNumber) {
try{
TextToSpeech ttsObj=Text2SpeechBean.getTTSObject();
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
// CALL_STATE_OFFHOOK;
ttsObj.shutdown();
break;
case TelephonyManager.CALL_STATE_RINGING:
// CALL_STATE_RINGING
ttsObj.shutdown();
break;
}
}catch(Exception e)
{
System.out.println("Exception ::onCallStateChanged::"+e);
}
}
}
答案 0 :(得分:1)
您可以在onStart()
中初始化tts,并在onStop()
中调用shutdown()
您应该可以在TextToSpeech.stop()
中致电TextToSpeech.shutdown()
或onPause()
并使其发挥作用。停止失败可能有多种原因,如果确实如此,那么你就是运气不好。这适用于6种不同型号的Android设备。
@Override
protected void onStop()
{
super.onStop();
if(ttsObj!= null){
ttsObj.shutdown();
}
}
希望它能帮到你!!