Microsoft DirectX 8.0 (C++) |
Microsoft® DirectPlay® で専用に提供される圧縮/圧縮解除 (CODEC) アルゴリズムは、音声品質の CODEC である。これらのアルゴリズムは、すべて 8 kHz の 16 ビット モノラル形式に基づいている。サードパーティの CODEC はサポートされない。また、DirectPlay Voice と共に使用する独自の CODEC を作成することはできない。
帯域幅の要件が低くなると、音声データのオーディオ品質も低下するので、注意が必要である。
ゲームの音声セッション内で、CODEC を動的に切り替えることはできない。1 つの音声セッション内では、すべてのユーザーが同じ CODEC を使用する必要がある。ただし、適切なユーザー インターフェイスを作成し、そこで現在のセッションを破棄し、別の CODEC を使った新しいセッションを作成することによって、CODEC を強制的に切り替えることも可能である。ゲーム アプリケーションのユーザーが、ロビー チャットからゲームにジャンプしている場合には、この方法が適している。
ほかのすべてのゲーム設定パラメータと同様に、使用される CODEC はホストが制御しなければならない。音声セッション ホストとゲーム データのホストは、同一でなくてよい。
どのような形のネットワーク通信でも同じだが、音声通信の負荷を分析して、ゲーム データと音声データの通信に必要な帯域幅が確保できるかどうかを確認することが重要である。音声による帯域幅の使用量は、簡単に分析できる。同時に発生すると思われる音声ストリームの数を予測し、CODEC およびプロトコル オーバーヘッドに必要な帯域幅の合計を、その数に乗算する。
CODEC の選択では、CPU の消費というもう 1 つの要素も考慮する必要がある。通常、帯域幅の低い CODEC でさえ、200 MHz Pentium プロセッサであれば、音声ストリームのエンコードのためにリソースの約 8 %、デコードのためにさらに 4 % が必要である。ネットワークの帯域幅と同様に、CPU リソースの消費もストリーム数に応じて増加する。