0

すべての通話ダイヤル部分を実行しましたが、機能します。ここで、録音したサウンドまたはマイクを電話でサウンドを再生する必要があります。オーディオをドングルに渡し、通話を介して送信する方法を知る必要があります。

これは、電話番号をダイヤルするための私の作業コードです

SerialPort port = new SerialPort();
port.Open();
string t = port.ReadExisting();
Thread.Sleep(100);

string cmd = "ATD";
string phoneNumber = "071********";
port.WriteLine(cmd + phoneNumber + ";\r");


port.Close();
4

1 に答える 1

8

モデムには、3 つの COM ポートが利用可能です。1 つは AT コマンドの送信用、2 番目はデータ (音声データ) の送信用、最後の 1 つは非同期ステータス変更の監視用です。

(ATD を使用して) 呼び出しを行う場合、監視ポートで "^CONN: 1, 0" を待つ必要があります。

次に、8KHz、16 ビット署名、1 チャネルの音源が必要です。このソースの 320 バイトを 20ms ごとにデータ ポートに書き込みます。

また、このポートから 320 バイトのデータを読み取ります。相手側が話しているのは 20 ミリ秒ごとです。

"^CEND: ..." を取得すると、通話が終了します。

ただし、いくつかのキャッチに注意してください。相手があなたの呼び出しを拒否した場合でも、"^CONN: 1, 0" が返されます。そのため、最初にデータ ポートからデータを読み取って、^CONN メッセージの後に相手側がまだそこにあるかどうかを確認してください。

于 2014-04-03T06:07:28.197 に答える