다음을 통해 공유


ISpatialAudioObject::SetPosition 메서드(spatialaudioclient.h)

ISpatialAudioObject 오디오 데이터가 렌더링되는 수신기를 기준으로 3D 공간의 위치를 설정합니다.

구문

HRESULT SetPosition(
  [in] float x,
  [in] float y,
  [in] float z
);

매개 변수

[in] x

수신기를 기준으로 오디오 개체의 x 위치(미터)입니다. 양수 값은 수신기 오른쪽에 있고 음수 값은 왼쪽에 있습니다.

[in] y

수신기를 기준으로 오디오 개체의 y 위치(미터)입니다. 양수 값은 수신기보다 높고 음수 값은 아래와 같습니다.

[in] z

수신기를 기준으로 오디오 개체의 z 위치(미터)입니다. 양수 값은 수신기 뒤에 있고 음수 값은 앞에 있습니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드는 다음 표에 표시된 값을 포함하지만 이에 국한되지 않습니다.

반환 코드 설명
SPTLAUDCLNT_E_OUT_OF_ORDER

SetPosition을 호출하기 전에 ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects가 호출되지 않았습니다.

SPTLAUDCLNT_E_RESOURCES_INVALIDATED

SetEndOfStream 은 이전 오디오 처리 단계에서 명시적으로 또는 암시적으로 호출되었습니다. GetBuffer가 오디오 처리 패스 내에서 호출되지 않는 경우 시스템에서 SetEndOfStream을 암시적으로 호출합니다(ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjectsISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects 호출 사이).

SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED
ISpatialAudioObjectAudioObjectType_Dynamic 형식이 아닙니다. 형식 매개 변수가 있는 오디오 개체의 형식을 ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject 메서드로 설정합니다.

설명

이 메서드는 AudioObjectType_Dynamic 형식인 ISpatialAudioObject에서만 호출할 수 있습니다. 형식 매개 변수가 있는 오디오 개체의 형식을 ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject 메서드로 설정합니다.

위치 값은 오른손 카티전 좌표계를 사용합니다. 여기서 각 단위는 1미터를 나타냅니다. 좌표계는 원본(x=0.0, y=0.0, z=0.0)이 수신기 귀 사이의 중심점을 나타내는 수신기를 기준으로 합니다.

SetPosition을 호출하지 않으면 원본(x=0.0, y=0.0, z=0.0)이 기본 위치로 사용됩니다. SetPosition이 호출되면 SetPosition에 대한 다른 호출로 위치가 변경될 때까지 설정된 위치가 오디오 개체에 사용됩니다.

요구 사항

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

추가 정보

ISpatialAudioObject