IXAudio2Voice::SetEffectParameters メソッド (xaudio2.h)

音声のエフェクト チェーン内の特定の効果のパラメーターを設定します。

構文

\\HRESULT SetEffectParameters(
  [in] UINT32     EffectIndex,
  [in] const void *pParameters,
  [in] UINT32     ParametersByteSize,
  [in] UINT32     OperationSet
);

パラメーター

[in] EffectIndex

音声のエフェクト チェーン内の効果の 0 から始まるインデックス。

[in] pParameters

効果固有のパラメーターの現在の値を返します。

[in] ParametersByteSize

pParameters 配列のサイズ (バイト単位)。

[in] OperationSet

この呼び出しを遅延バッチの一部として識別します。 詳細については、「 XAudio2 操作セット の概要」を参照してください。

戻り値

成功した場合はS_OKを返します。それ以外の場合は、エラー コード。 エラー コードの説明については、「 XAudio2 エラー コード 」を参照してください。

効果がジェネリック パラメーター制御インターフェイスをサポートしていない場合、E_NOTIMPL で失敗します。

注釈

使用されている特定の効果によって、 pParameters バッファーの有効なサイズと形式が決まります。 pParameters が無効な場合、または ParametersByteSize が効果で想定されるサイズではない場合、呼び出しは失敗します。 クライアントは 、SetEffectParameters 呼び出しを適切な効果に誘導するように注意する必要があります。 この呼び出しが、同じパラメーター ブロック サイズを受け入れる別の効果に送られる場合、パラメーターは異なる方法で解釈されます。 これにより、予期しない結果が発生する可能性があります。

pParameters が指すメモリは、パラメーターが実際に効果に適用されるときに XAudio2 が後で参照する必要があるため、すぐに解放することはできません。 これは 、OperationSet 引数が XAUDIO2_COMMIT_NOWされている場合、次のオーディオ処理パス中に発生します。 それ以外の場合、 IXAudio2::CommitChanges 関数が同じ OperationSet 引数で呼び出された後の最初の処理パスの間に、後でパラメーターが効果に適用されます。

SetEffectParameters は、 OperationSetXAUDIO2_COMMIT_NOW の XAudio2 コールバックから呼び出されるとすぐに有効になります。

IXAudio2Voice::GetEffectParameters は 、常に効果の実際の現在のパラメーターを返します。 ただし、 これらは IXAudio2Voice::SetEffectParameters の最新の呼び出しによって設定されたパラメーターと一致しない場合があります。 実際のパラメーターは、IXAudio2Voice::SetEffectParameters 呼び出しの後 (または IXAudio2Voice::SetEffectParameters が遅延操作 ID で呼び出された場合は、対応する IXAudio2::CommitChanges 呼び出しの後) にオーディオ エンジンが次回実行されたときにのみ変更されます。
 

プラットフォームの要件

Windows 10 (XAudio2.9);Windows 8、Windows Phone 8 (XAudio 2.8);DirectX SDK (XAudio 2.7)

要件

要件
対象プラットフォーム Windows
ヘッダー xaudio2.h

こちらもご覧ください

方法: エフェクト チェーンの作成

IXAPOParameters::SetParameters

IXAudio2Voice

XAPO 概要