第一步 打電話
ATD+手機號碼;//(注意有分號)
AT+CSCA?
第二步判斷是否接通
AT+CLCC
AT+CSCA?
未接通返回
+CLCC: 1,1,0,1,0,"",128
+CLCC: 2,0,3,0,0,電話號,128
接通返回
+CLCC: 1,1,0,1,0,"",128
+CLCC: 2,0,0,0,0,電話號,128
第三步如果接通,發送語音
AT+QWTTS=1,1,2,"歡迎使用語音播報功能!"
AT+CSCA?
第四步掛斷電話
ATH
AT+CSCA?
//語音通話代碼
private void button_voice_Click(object sender, EventArgs e)
{
//打電話 ATD18192531985; +AT+CSCA?
byte[] buf = Encoding.ASCII.GetBytes("ATD16195531982;\r\nAT+CSCA?");
ss_port.Write(buf);
//讀取回執
string response = Encoding.ASCII.GetString(ss_port.Read(128));
while (true)
{
//發送AT+CLCC AT+CSCA?判斷有沒有接通
buf = Encoding.ASCII.GetBytes("AT+CLCC\r\nAT+CSCA?");
ss_port.Write(buf);
response = Encoding.ASCII.GetString(ss_port.Read(128));
if (response.Contains("2,0,0,0,0,"))
{
Thread.Sleep(500);
buf = System.Text.Encoding.Default.GetBytes("AT+QWTTS=1,1,2,\"尊敬的用戶你好,歡迎使用TTS功能!即將結束通話,感謝您的聆聽!\"\r\nAT+CSCA?");
ss_port.Write(buf);
Thread.Sleep(11 * 1000);
buf = Encoding.ASCII.GetBytes("ATH\r\nAT+CSCA?");//掛機
ss_port.Write(buf);
break;
}
Thread.Sleep(1000);
}
}