次の方法で共有


KSDS3D_HRTF_INIT_MSG構造体 (ksmedia.h)

KSDS3D_HRTF_INIT_MSG構造体は、ヘッド相対転送関数 (HRTF) の初期化に使用するパラメーター設定を指定します。

構文

typedef struct {
  ULONG                      Size;
  KSDS3D_HRTF_FILTER_QUALITY Quality;
  FLOAT                      SampleRate;
  ULONG                      MaxFilterSize;
  ULONG                      FilterTransientMuteLength;
  ULONG                      FilterOverlapBufferLength;
  ULONG                      OutputOverlapBufferLength;
  ULONG                      Reserved;
} KSDS3D_HRTF_INIT_MSG, *PKSDS3D_HRTF_INIT_MSG;

メンバー

Size

構造体のサイズをバイト単位で指定します。

Quality

HRTF フィルター品質レベルを指定します。 このパラメーターを、次のいずれかのKSDS3D_HRTF_FILTER_QUALITY列挙値に設定します。

  • LIGHT_FILTERは、良好な品質効果を生み出す効率的なアルゴリズムを選択します。
  • FULL_FILTERは、高品質の効果を生み出すが、処理時間が長くなるアルゴリズムを選択します。

SampleRate

各チャネルを再生するサンプル レートを 1 秒あたりのサンプル数 (ヘルツ) で指定します。 たとえば、値 22,050 は、22.05 kHz のサンプル レートを指定します。

MaxFilterSize

フィルターの最大サイズをバイト単位で指定します。 フィルターが直接の形式の場合、最大サイズはフィルターの順序です (分子と分母の順序が等しくなります)。 フィルターがカスケード形式の場合、最大サイズは二重係数の最大数です。

FilterTransientMuteLength

新しいフィルタの初期過渡信号が出力信号に導入されないようにするために、新しいフィルタへのクロスフェードを遅延させる時間を指定します。 遅延は、新しいフィルターによって生成された初期サンプルの数として指定されます。 この間、出力は古いフィルターからのみ取得されます。

FilterOverlapBufferLength

フィルター出力をミュートおよびクロスフェードするサンプルの合計数を指定します。

OutputOverlapBufferLength

方位角 0 を越えて遷移した後に出力チャネルをクロスフェードするサンプルの数を指定します。 このメンバーは、KSDS3D_HRTF_PARAMS_MSG の CrossFadeOutput メンバーによって出力 チャネルのクロスフェードが有効になっている場合に使用されます。

Reserved

予約済み。 0 に設定します。

注釈

この構造体は、 KSPROPERTY_HRTF3D_INITIALIZE プロパティによって使用されます。

品質の値FULL_FILTERとLIGHT_FILTERは、Microsoft Windows SDKドキュメントで説明されているGUID_DS3DALG_HRTF_FULLとGUID_DS3DALG_HRTF_LIGHTの設定に対応します。

詳細については、「 KSPROPSETID_Hrtf3d」を参照してください。

要件

要件
Header ksmedia.h (Ksmedia.h を含む)

こちらもご覧ください

KSDS3D_HRTF_PARAMS_MSG

KSPROPERTY_HRTF3D_INITIALIZE

KSPROPSETID_Hrtf3d