音声チャットをするプログラムを作りたいと考えました。
言語は、Java, C++/C, C#, VB.NETであればなんでもいいです。
できれば、GUI部分が作りやすいC#, VB.NETであるといいですが。
特には限定しません。
私個人の状況の説明ですが、通信系のプログラムは、なんどか組んだことがあります。
ただし、通信の基になる情報の入出力源としては、
a)キーボード入力
b)DBの入出力
c)画面の入力内容を入力源とする。
d)通信結果で、画面を更新する。
e)コンソール入出力
f)ログ出力
主にテキストベースのやりとり。
通信時の構成としては、
AとBが通信するケースでは、
1)A→B方向での通信をするソケットを処理するスレッド
2)B→A方向での通信をするソケットを処理するスレッド
B側にも同様に2つのスレッドがある状態。
セッションの確立要求を出すほうがクライアント側のソケットであるだけです。
受信部のロジックとしては、
a)改行コードがくるまでブロック。
受け取った情報を元に、アプリケーションプロトコルの処理し、再度ループを回る。
b)1バイト受信ごとに、処理をするループを回る。
(画面上の即時更新など)
の2つ。
でも、音声だと、「マイク入力」、「スピーカーを鳴らす」、
そういう部分を解決しなければできないと思います。
DirectSoundや、SIPなどがあるようですが、正直難しくて手が出せてません。
スレッドやソケットは別にしても、テキストベースなら、コンソール入出力のように
とても簡単なんです。
それに近いイメージでのノウハウで、アドバイスやサンプル等があるととても助かります。
言語は「Java, C++/C, VB.NET」であればよいです。動作環境は、OSはWindows一般でうごけばいいです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
DirectPlayVoiceが手軽でいいと思いますよ。
C#やVBからでも使えますし。
実際、これを使ってメッセンジャーのようなソフトを作って
販売している会社もあります。
音声CODECを自分で作るのは骨が折れます。
遅延や欠損などにも耐えなければいけませんしね。
SIPはP2Pで通信するために
能力交換と位置情報を解決するための呼制御のプロトコルで
これそのものは音声を伝送する術を持ちませんし
RFC3261を読むだけで鬱になるので個人での実装はおすすめしません。
No.1
- 回答日時:
DirectXを使うといいですよ って回答しようとしたら難しいですか・・・
探せば音声チャットを実装できるライブラリとかコンポーネントあるんじゃないでしょうかね。。
そーいったライブラリ(DirectX含む)を使わないとおそらく逆に難しいでしょう。WindowsAPIを駆使すれば実装できますが、通信部分に乗っけるデータのストリーム化などを考えると・・・
やっぱり一番簡単なのがDirectXを使用するじゃないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
- Outlook(アウトルック) PCで登録途中の画面から認証コードを確認する方法を教えてください。 3 2022/09/29 06:11
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- デスクトップパソコン パソコン修理について教えて下さい。 自作PCでwin7を入れていたパソコンが起動しなくなりました。 9 2022/04/24 16:21
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信におけるbind関数について
-
エクセル VBA でのCOMポート...
-
VB6のwinsockでconnectできない
-
サーバ&クライアント FTPコマ...
-
Winsockで接続待ちタイムアウト...
-
ソケットのrecvの戻り値が0
-
recv関数でフリーズしてしまう
-
winsockのポート指定について
-
SIPがNATを越えられない理由
-
Winsockを使わずにVBでSocketを...
-
Connectエラーが出てしまう・・...
-
VC++でのソケット通信について
-
相手のIPアドレスを取得する方法
-
UDP通信する時に、相手にどうや...
-
C#でメッセンジャー作ってます...
-
Socket通信の0バイト受信について
-
ネットワークプログラミングに...
-
同じLAN内パソコンのIPアドレス...
-
ソケットを用いた1対多通信につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
エクセル VBA でのCOMポート...
-
UDP通信する時に、相手にどうや...
-
UDP通信におけるbind関数について
-
UdpClient 送信元のIPアドレ...
-
Winsockで接続待ちタイムアウト...
-
recv関数でフリーズしてしまう
-
ソケットのクローズについて
-
ソケットのrecvの戻り値が0
-
Socket通信の0バイト受信について
-
ソケット通信 同じポート番号...
-
相手のIPアドレスを取得する方法
-
ソケットでクライアントのipア...
-
VB6のwinsockでconnectできない
-
Connectエラーが出てしまう・・...
-
ソケット通信の送受信遅延-02 ...
-
同じLAN内パソコンのIPアドレス...
-
WinSockでの通信プログラムがう...
-
UDPのソケットプログラミング
-
非ブロッキングソケットのrecv...
おすすめ情報