ページ 11

ボイスチャットの実装

Posted: 2010年12月28日(火) 04:45
by shiro4ao
WinVista VC++2010にてUDPによるボイスチャットを作成してみようと思いました。

サーバーはポート5555番を開けてまち
クライアントは接続し、送信ボタンで音声をサーバーへ送信するようにしたいです。

添付ファイルのように実装し、同じコンピューターで
クライアントとサーバーをたて、マイクとイヤホンをつけ、送信ボタンを
押し、しゃべりましたが、ブツ、ブツ、ブツ、と
木魚のように一定間隔でおとが出てくるだけで
声は遅れませんでした。

個人的には、 case MM_WIM_DATAメッセージで送信したデータがちゃんとした形で
届いているのか疑っていますが、音声なので確認のしようがなくて困っています。

極めてスパゲティになっていますが、何か解決策はありますでしょうか?
それとも設計がおかしいのでしょうか?

ソースコードを添付いたします。

Re: ボイスチャットの実装

Posted: 2010年12月28日(火) 13:28
by softya(ソフト屋)
コードは確認していないですが、音声ではないデータは同じコードで正常に遅れることを確認済みですか?
あと送る音声データは正常に再生できることは確認済みですか?
正弦波など確認できるデータを送信して動作確認はしてみましたか?

Re: ボイスチャットの実装

Posted: 2010年12月28日(火) 16:23
by shiro4ao
>音声ではないデータは同じコードで正常に遅れることを確認済みですか?
 文字列を送ってみたところ相手側に上手く送れたようです

>あと送る音声データは正常に再生できることは確認済みですか?
 音声を録音し、同じプログラムで再生したところ上手く再生できました。
 (コードは添付のRecordTest.cppにて確認)

>正弦波など確認できるデータを送信して動作確認はしてみましたか?
 先の2つから、録音されたデータは"確認できるデータ"と考えられるので
 この、"確認できるデータ"の送信がうまくいかないと考えられます。

以上から、送信側に問題はないと考え、受信側に不具合があると考えています。

Re: ボイスチャットの実装

Posted: 2010年12月28日(火) 16:56
by shiro4ao
はやり、受信側にミスがありました。
受け取ったデータサイズが正しく利用されていませんでした。
一応完成ですが、とぎれとぎれで、会話するには厳しいと思いますが、
これでなんとか解決にさせていただきたいと思います。
ありがとうございました。

/*修正箇所:閑静→完成*/