用Modem at指令播放聲音檔案
echo " 127.0.0.1 localhost.localdomain bogon localhost localhost4 " >> /etc/hosts
sudo chown 500 /var/lock/lockdev
進minicom後。。
atz
at+fclass=8
atdt[phone number] or ata
at+vls=1
at+vrx => start recv voice
at+vtx => start send voice
發完那個命令就自己ReadFile(從檔案讀),WriteFile(向Modem寫)啊
1。語音資料需要透明化,即,消除與modem控制命令向抵觸的資料,加上轉義符
2。語音的資料格式有要求,一般是A率(a-law)單聲道的資料,播放速度不能控制,除非你做混音或合成,即先調好速度再播放。格式不對聽不到聲音或聲音變形。你可以用CoolEdit2000修改檔案格式。除非自己做一些編碼解碼器(網上有原始碼),否則不是隨便指定什麼檔案都能播放。MP3肯定不能直接,除非Modem內建了MP3解碼晶片(那是天方夜譚,呵呵)
3。Modem跟音效卡連線的問題本人沒做過,發完at+vtx就在向外播放音效卡解碼的聲音了。
4。跟控制面板無關,只要Modem安裝正常。
5。用檔案API向Modem傳送和從Modem接收語音,即使使用TAPI也需要這一組函式。先GetLineID()(好象是這個函式吧?)再ReadFile()或者WriteFile()
6。一般是使用硬體流控方式,通過DCB設定給modem。主叫方要
atz
at+flcass=8(不支援該指令的Modem不能用)
at+vls=1
at+vrx/vtx
modem作為被叫可能也需要at+fclass=8,再ata
7。一般的modem只支援語音半雙工,做電腦自動語音功能還可以,不能指望用它來通話,除非自己特製的modem