次の方法で共有


キャプチャー バッファー情報

キャプチャー バッファーのサイズを取得するには、IDirectSoundCaptureBuffer8::GetCaps メソッドを使用できます。DSCBCAPS 構造体をパラメーターとして渡す前に、この構造体の dwSize メンバーを初期化する必要があります。

バッファーの作成時に設定されたバッファー内のデータ フォーマットの情報を取得するには、IDirectSoundCaptureBuffer8::GetFormat を呼び出します。このメソッドは、WAVEFORMATEX 構造体を通じてフォーマット情報を返します。

lpwfxFormat パラメーターが NULL に設定された GetFormat メソッドを最初に呼び出せば、WAVEFORMATEX 構造体を通じて追加のフォーマット情報を取得できます。この場合、lpdwSizeWritten パラメーターで指定された DWORD には、完全なフォーマット情報を取得するために必要な構造体のサイズが格納されます。

キャプチャー バッファーが現在実行していることを確認するには、IDirectSoundCaptureBuffer8::GetStatus メソッドを呼び出します。このメソッドは、バッファーがキャプチャー処理でビジー状態かどうか、また、その場合は、バッファーがループしているかどうか (IDirectSoundCaptureBuffer8::Start の最後の呼び出しで、DSCBSTART_LOOPING フラグが設定されたかどうか) を示すフラグの組み合わせを DWORD 変数に格納します。

IDirectSoundCaptureBuffer8::GetCurrentPosition メソッドは、バッファー内の読み取りカーソルとキャプチャー カーソルのオフセットを返します。読み取りカーソルは、この時点でバッファーに完全にキャプチャーされているデータの末尾にあります。キャプチャー カーソルは、現在ハードウェアからコピーされているデータ ブロックの末尾にあります。バッファーから安全にコピーできるのは、読み取りカーソルまでのデータのみです。