IXAudio2Voice::DisableEffect メソッド

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

構文

HRESULT DisableEffect(         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 呼び出しは、失敗します。

エフェクトを無効にすると、直ちに処理グラフから削除されます。エフェクト内の保留中のオーディオ (リバーブ テールなど) は再生されません。エフェクトをホストしているボイスの実行中にエフェクトを無効にする場合は、十分に注意する必要があります。エフェクトがオーディオのピッチまたはボリュームを大幅に変更する場合、無効にすることで、不自然な聴覚効果が発生する可能性があります。

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

要件

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

関連項目

IXAudio2Voice
XAPO の概要