次の方法で共有


IXAudio2Voice::EnableEffect メソッド

ボイスのエフェクト チェーンの特定の位置にあるエフェクトを有効にします。

構文

HRESULT EnableEffect(         UINT32 EffectIndex,         UINT32 OperationSet = XAUDIO2_COMMIT_NOW)

パラメーター

  • EffectIndex
    [in] ボイスのエフェクト チェーンのエフェクトの、0 から始まるインデックス。
  • OperationSet
    [in] この呼び出しを遅延バッチの一部として指定します。詳細については、「XAudio2 操作セット」の概要を参照してください。

戻り値

正常に実行された場合は S_OK を返し、失敗した場合はエラー コードを返します。エラー コードの説明については、「XAudio2 エラー コード」を参照してください。

解説 

エフェクトをホストしているボイスの実行中にエフェクトを有効にする場合は、十分に注意する必要があります。エフェクトがオーディオのピッチまたはボリュームを大幅に変更する場合、有効にすることで、問題が発生する可能性があります。

指定された XAudio2 ボイスのエフェクト チェーン内にあるエフェクトは、ボイスの処理のサンプル レートで、オーディオを消費および生成する必要があります。オーディオ形式で変更できる要素は、チャンネル数のみです (たとえば、リバーブ エフェクトでは、モノラル データを 5.1 に変換できます)。クライアントは、各エフェクトが XAUDIO2_EFFECT_DESCRIPTOR 構造体の OutputChannels フィールドを使用して生成するチャンネルの数を指定できます。エフェクト チェーン内の各エフェクトでは、次のエフェクトが消費できる多数のチャンネルを生成する必要があります。エフェクト チェーンにこれらの要件を満たすことを停止させる可能性がある IXAudio2Voice::EnableEffect 呼び出しまたは IXAudio2Voice::DisableEffect 呼び出しは、失敗します。

EnableEffect は、XAUDIO2_COMMIT_NOW の操作セットを使用して XAudio2 コールバックから呼び出されるとすぐに有効になります。

要件

ヘッダー: XAudio2.h で宣言されています。

関連項目

IXAudio2Voice
XAPO の概要