KSPROPERTY_RTAUDIO_GETREADPACKET
KSPROPERTY_RTAUDIO_GETREADPACKET は、キャプチャされたオーディオ パケットに関する情報を返します。
用法の要点テーブル
Yammer の入手 | 設定 | 移行先 | プロパティ記述子の種類 | プロパティ値の種類 |
---|---|---|---|---|
はい | いいえ | ピン留めする | KSPROPERTY | KSRTAUDIO_GETREADPACKET_INFO |
プロパティ記述子 (インスタンス データ) は KSPROPERTY 構造体です。 要求を送信する前に、クライアントはパケット番号、パケット長、およびその他の情報を示す値を持つ構造体を読み込みます。
プロパティ値は、KSRTAUDIO_GETREADPACKET_INFO 型の変数です。
戻り値
KSPROPERTY_RTAUDIO_GETREADPACKET プロパティ要求は、正常に完了したことを示すために STATUS_SUCCESS を返します。 それ以外の場合、要求は適切な失敗状態コードを返します。
STATUS_DEVICE_NOT_READY - 新しいデータが使用できない場合、ドライバーはこのエラーを返します。
解説
キャプチャされたオーディオ データを WaveRT バッファーから読み取る前に、OS はこのルーチンを呼び出して、使用可能なデータに関する情報を取得します。
パケット番号は、ストリーム内のパケットを識別します。 ストリームが KSSTATE_STOP されている場合、これは 0 にリセットされます。 キャプチャされた各バッファーで数値が進みます。 パケット番号から、OS は WaveRT バッファー内のパケット位置を導き出すことができます。また、ストリームの開始位置からの相対的なパケットのストリーム位置を導き出すことができます。
パケット サイズは、KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION に渡された NotificationCount で割った WaveRT バッファー サイズです。 OS は、いつでもこのルーチンを呼び出すことができます。 通常の操作では、ドライバーがバッファー通知イベントを設定した後、または前の呼び出しが MoreData に対して True を返した後に、OS がこのルーチンを呼び出します。 OS がこのルーチンを呼び出すと、ドライバーは、OS が以前のすべてのパケットの読み取りを完了したと想定することがあります。 ハードウェアが十分なデータをキャプチャした場合、ドライバーはすぐに次の完全なパケットを WaveRT バッファーにバーストし、バッファー イベントをもう一度設定できます。 キャプチャ オーバーフローの場合 (OS がデータを十分に迅速に読み取らない場合)、オーディオ ドライバーが一部のオーディオ データを削除または上書きすることがあります。 オーディオ ドライバーは、最初に最も古いデータを削除または上書きします。オーディオ ドライバーは、OS がデータを読み取っていない可能性がある場合でも、内部パケット カウンターを進め続ける可能性があります。
要件
バージョン |
Windows 10 以降の Windows オペレーティング システムで使用できます。 |
ヘッダー |
Ksmedia.h |