VoiceChat開発

今、音声チャットのアプリを書いています。


20040224-1-T.JPG
外見はこんな感じ。
目的は、

複数人で同時に音声チャットを簡単に行うアプリケーションを作成する。

です。
MSNメッセンジャーやら、ネットミーティングやらで、音声チャットは一般的になってきました。
Yahooチャットでは、複数人での音声チャットも提供されています。
ネットゲームでも、音声チャットの機能がついているものが増えてきました。
でもね。
単体で、複数人で音声チャットするアプリってあんまり無いのよ。英語のやつはちょろちょろあるんだけど。。。
メッセで複数人同時音声チャットの機能がついていればいいのに、ついてない。
てなことで作ってるところです。
実は複数人音声チャットってプログラム上は簡単なんです。マイクロソフトから、DirectPlay Voiceという機能が提供されていますので、そいつを使ってほいほいと作っています。
20040224-2.JPG
起動するとこんな画面が出てきます。お部屋を作るか、既にあるお部屋に入室するか選びます。
「部屋を新規に作成する」を選ぶと、
20040224-3.JPG
あなたのハンドル名を聞いてきます。んで、OKを押せば、出来上がり。
あとは誰かがやってくるのを待つだけです。
「既存の部屋に入室する」を選ぶと、
20040224-4.JPG
と、ハンドル名と、接続先を入力します。んで、OKを押せば、接続して、音声チャットができます。
詳細設定オプションを選ぶと、
部屋にパスワードがつけられます。
使用するポート番号が選択できます。
使用する音声圧縮方法、まぁ音質ですな。が選べます。
20040224-1-T.JPG
んで、部屋を作ったり、部屋に入室したりすると、この画面が出てくるわけです。
あとは、普通にマイクに向かって声を出せば、みんなにその声が聞こえます。
そんだけです。
右には、部屋にいるメンバーのハンドル名のリスト。ハンドル名の横のアイコンは、今誰が声を出しているかを、赤いアイコンで表示します。
左側は、通常の文字チャットです。
メニューには、マイクの設定やら音量の設定などなどが入る予定。
通常のDirectPlayを使っているので、UPnPを使っているルーターであれば、問題なく使えると思います。
昨晩、ゆうきに頼んでちょっと試験をしていました。
まぁとりあえず、動いている模様。。。
やらなければいけないこと(ToDo)リスト
文字のチャットの反応が悪いので、反応をよくする。
接続がうまく行かないときにキャンセルできるようにする。
部屋を作った後、現在のホスト名またはIPアドレスを表示できるようにする。
アイコンが情け無いのでアイコンを描く。
エラーが出たときのために、エラーハンドルをちゃんとする。
過去の設定の保存。
ヘルプを作る。
外見がダサいので、もうちょっとかっこよくする。
インストーラーをちゃんとする。
どうゆうライセンス形態で配布するか決める。
将来的には、
マイクインジケーター、スピーカーインジケーターの表示。
文字チャットのファイルへの保存
音声チャットの音声のファイルへの保存
声が右から聞こえたり左から聞こえたり
を考えています。
ところで、
こんなん公開されたら使う?
リクエスト、要望などありましたら教えてください。
ちなみに、動作環境は、DirectX9.0aが動く環境です。
まぁまだぜんぜんテストしてないんで、ちゃんとテストするまでは正確なことは言えませんが。。。

「VoiceChat開発」への6件のフィードバック

  1. はじめまして。
    むむむ、さくさくと作れる、といったことが書かれておりましたが、どのような技術を使っているのでしょうか。DirectPlay Voice、というとDirectX関係のようですが。
    入門書を超えたプログラムは初級レベルなのですが、急ぎ1ヶ月でこのようなプログラムを開発しなくてはならず途方にくれています。ご迷惑でなければ、少しアドバイスをいただきたく思います。

  2. Direct Playはすでに過去の技術となっております。
    詳しくはこちら
    マイクロソフトが使わないでくださいと言っているので使わないことをお勧めします。
    僕が調べた最後の記事は、
    SIPとRIPおよび圧縮キャプチャが最後でして、最近の動向は追いかけていないので、新たなテクノロジが出てきているのかどうか。。。
    参考になりますでしょうか。
    要求項目がわからないので、コメントしづらいですが、初級レベルということですので、エンジンを直接起動することは考えず、SkypeやMSN Messengerなどのアプリケーションを外部から利用することを目指すのはいかがでしょう。Skype APIなどのキーワードでGoogleを使って調べると、Webページが見つかると思います。
    仕事のプログラムですと(そうじゃなくても)、ライセンス的な問題もありますので、そのあたりも調べる必要もあるかと思います。
    圧縮関連はライセンスがややこしいですからねぇ。

  3. なるほど、Skypeを外部から操作できるんですか。もしそれが利用できるならば、好都合です。研究目的でその評価を行うツールとして使うので、ライセンスの問題まで考えていませんでした。確認してみます。
    ともあれ、第一歩を踏み出すことが出来そうです、ありがとうございます。

コメントを残す