我正在尝试制作一个应用程序,当来电时识别号码并通过使用 android 文本到语音它会说出来电者的联系人姓名。我已经完成了几乎我的问题是当来电而不是默认铃声时,它应该说 TTS.how to override ringtone with TTS here im给出我尝试过的内容。任何人都可以帮助我获得更好的解决方案。我已经尝试了第一个答案,现在铃声音量变小了。但 tts 声音不来。
public class myPhoneStateChangeListener extends PhoneStateListener
{
int ph_state = 0;
speechcontact clsspcntct = new speechcontact();
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
if (state == TelephonyManager.CALL_STATE_RINGING)
{
String phoneNumber = incomingNumber;
String ContactName = objUtility.getContactName2(context,phoneNumber);
if (RBSpkMde.isChecked())
{
speakWords(ContactName);
}
}
}
public void speakWords(String speech)
{
myTTS.speak("you have call from"+speech, TextToSpeech.QUEUE_FLUSH, null);
}
}