ボイスチャットシステム

Multisoft-labのホーム    ご意見・ご感想等

クライアント

概要

 クライアントは、ユーザとサーバーとの間で、情報を仲介するアプリケーションです。 ボイスチャットシステムでは、図1に示すクライアントアプリケーションを用いて、ユーザにサーバーのサービスを提供します。

ボイスチャットクライアント動作画面

(図1)クライアントの動作画面

 サーバーの提供する機能はすべてこのクライアント上で実現することができます。 つまり、ログイン、メッセージの投稿、音声による発言、ログアウトはこのクライアント上で行えます。

 以下では、このクライアントアプリケーションの構成および実装について解説します。



構成

 ボイスチャットシステムのクライアントは図2のように構成されています。 上層部にはユーザと対話するダイアログがあり、下層部にはインターネット通信部とオーディオ入出力が搭載されています。

クライアントの構成

(図2)クライアントの構成

 ユーザからの指示は、ダイアログによって解釈され、インターネットを通して送られます。 また、インターネットから送られてきた情報も、やはりダイアログによって解釈され、ユーザに提示されます。

 オーディオで発言するときは、ダイアログがオーディオ入力から音声を取り込んで、インターネットを介して送信します。 一方で、チャットに参加している誰かが発言していると、音声情報が送られてくるので、 ダイアログはその音声情報をオーディオ出力に送ります。すると、スピーカから声が出てきます。



実装

 表1にクライアントアプリケーションのクラス構成を示します。

(表1)クライアントアプリケーションのクラス構成

クラス 内 容
CVoiceChatClientApp
 このアプリケーションを管理するクラスです。
CVoiceChatClientDlg
 ユーザとの対話、およびプロコトル解析、オーディオデータの加工などを行います。
CSock
 ソケット通信をサポートするクラスです。
CStringComBuffer

 スレッド間で文字列を通信するためのバッファです。

 CThreadCommunicationBuffer<class T>のTをCStringに置換えました。 詳しくはスレッド間通信の原理・構成をご覧ください。

CVoiceIO
 オーディオ入出力の管理をします。以下のオーディオフォーマットをサポートします。
  • PCM
  • 標本化周波数 8kHz
  • 量子化ビット数 8bit
  • モノラル


Multisoft-labのホーム    ご意見・ご感想等の受付


Copyright © 2004 Multisoft-lab   All rights reserved.