VCT_ReceiveAudio

構文

#include <vct.h>
BOOL VCT_ReceiveAudio( void* audio_data, u32 length, u32 *aidBitmap );

引数

audio_data バッファへのポインタ
length バッファのサイズ
aidBitmap このストリームを送信したクライアントのaidのビットマップ。NULLを指定することも出来ます。

返り値

TRUE 音声データをバッファに書き込んだ
FALSE 音声データがない、またはストリーミングが開始されていない、ライブラリが初期化されていない

説明

受信用バッファから音声データを取り出します。受信した音声のデコードはVCT_HandleData内ですでに処理されています。また、カンファレンスモードなど、再生音声が複数チャンネルある場合、この関数の内部にて音声がミキシング処理されます。

audio_dataに書き込まれる音声データのフォーマットは16bit/8KHzです。このバッファは4バイト境界にアライメントされている必要があります。なお、lengthは現在1088(16bit/8KHzで68ms分のデータ)以外の値は受け付けていません。

この関数は、現在音声ストリーミングが開始されている・いないにかかわらず呼び出すことが可能です。音声ストリーミングが開始されていなければ、この関数はaudio_dataをゼロクリアします。

この関数の呼び出し間隔にばらつきがあると、音声再生に途切れが発生しやすくなるため、可能な限り正確に68ms単位で呼び出すようにしてください(音声ストリーミング再生の割り込みコールバック内で利用してください)。

aidBitmapを指定することで、このストリームを送信したリモートaidのビットマップを取得できます。トランシーバーモードにおいて、発言する人に応じてパンを切り替えるような場合に、利用してください。

この関数の戻り値を利用することで、現在再生すべき音声があるかどうかを判定することができます。これを利用して、音声再生時に BGM をミュート、または音量を抑えるといった処理をすることが可能になります。

参照

VCT_Init, VCT_StartStreaming, VCT_SendAudio

履歴

2006/08/31 ソフトウェアミックスに関する記述を追加
2006/04/25 VCT_ReceiveMixedAudioに関する記述を追加
2006/04/13 送信間隔を64msから68msへ変更。audio_dataに注意事項を修正。
2006/04/06 送信間隔の調整に関する記述を修正
2006/01/25 初版