Share via


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 호출을 올바른 효과로 보내도록 주의해야 합니다. 이 호출이 동일한 매개 변수 블록 크기를 수락하는 다른 효과로 전달되는 경우 매개 변수는 다르게 해석됩니다. 이로 인해 예기치 않은 결과가 발생할 수 있습니다.

매개 변수가 실제로 효과에 적용될 때 XAudio2가 나중에 참조해야 하므로 pParameters 가 가리키는 메모리를 즉시 해제 하면 안 됩니다. OperationSet 인수가 XAUDIO2_COMMIT_NOW 경우 다음 오디오 처리 단계에서 발생합니다. 그렇지 않으면 매개 변수는 나중에 IXAudio2::CommitChanges 함수가 동일한 OperationSet 인수로 호출된 후 첫 번째 처리 단계에서 효과에 적용됩니다.

SetEffectParametersXAUDIO2_COMMIT_NOW OperationSet을 사용하여 XAudio2 콜백에서 호출되면 즉시 적용됩니다.

참고IXAudio2Voice::GetEffectParameters는 항상 효과의 실제 현재 매개 변수를 반환합니다. 그러나 이러한 매개 변수는 IXAudio2Voice::SetEffectParameters에 대한 최신 호출에서 설정한 매개 변수와 일치하지 않을 수 있습니다. 실제 매개 변수는 오디오 엔진이 IXAudio2Voice::SetEffectParameters 호출 후(또는 해당 IXAudio2::CommitChanges 호출 이후, IXAudio2Voice::SetEffectParameters 가 지연된 작업 ID로 호출된 경우) 다음에만 변경됩니다.
 

플랫폼 요구 사항

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

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 xaudio2.h

추가 정보

방법: 효과 체인 만들기

IXAPOParameters::SetParameters

IXAudio2Voice

XAPO 개요