다음을 통해 공유


X3DAUDIO_DSP_SETTINGS 구조체(x3daudio.h)

X3DAudioCalculate 호출에서 결과를 받습니다.

구문

typedef struct X3DAUDIO_DSP_SETTINGS {
  FLOAT32 *pMatrixCoefficients;
  FLOAT32 *pDelayTimes;
  UINT32  SrcChannelCount;
  UINT32  DstChannelCount;
  FLOAT32 LPFDirectCoefficient;
  FLOAT32 LPFReverbCoefficient;
  FLOAT32 ReverbLevel;
  FLOAT32 DopplerFactor;
  FLOAT32 EmitterToListenerAngle;
  FLOAT32 EmitterToListenerDistance;
  FLOAT32 EmitterVelocityComponent;
  FLOAT32 ListenerVelocityComponent;
} X3DAUDIO_DSP_SETTINGS, *LPX3DAUDIO_DSP_SETTINGS;

멤버

pMatrixCoefficients

각 대상 채널에 있는 각 원본 채널의 볼륨 수준으로 초기화될 호출자 제공 배열입니다. 배열에는 적어도 (SrcChannelCount × DstChannelCount) 요소가 있어야 합니다. 배열은 원본 채널을 배열의 열 인덱스로, 대상 채널을 배열의 행 인덱스로 정렬합니다. 예를 들어 2개 채널 스테레오 입력을 5.1 출력으로 렌더링하여 전면 채널에 가중치를 적용하지만 가운데 및 빈도가 낮은 채널에는 없는 경우 행렬은 다음 표와 같이 표시될 수 있습니다.

출력 왼쪽 입력 오른쪽 입력
왼쪽 1.0 0.0
오른쪽 0.0 1.0
프런트 센터 0.0 0.0
Lfe 0.0 0.0
후면 왼쪽 0.8 0.0
오른쪽 후면 0.0 0.8
 

왼쪽 및 오른쪽 채널은 출력 왼쪽 및 오른쪽 채널에 완전히 매핑됩니다. 왼쪽 및 오른쪽 입력의 80%는 후방 왼쪽 및 오른쪽 채널에 매핑됩니다.

X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_MATRIX 플래그를 지정하지 않으면 pMatrixCoefficients 멤버가 NULL일 수 있습니다.

XAudio2와 함께 X3DAudio를 사용하는 경우 pMatrixCoefficients 멤버에 반환된 값은 IXAudio2Voice::SetOutputMatrix를 사용하여 음성에 적용됩니다.

pDelayTimes

호출자는 각 대상 채널에 대한 지연을 밀리초 단위로 수신하는 지연 시간 배열을 제공했습니다. 이 배열에는 DstChannelCount 요소 이상이 있어야 합니다. X3DAudio는 실제로 지연을 수행하지 않습니다. 효과 체인에 배치된 지연 DSP 효과를 조정하는 데 사용할 수 있는 계수를 반환하기만 하면 됩니다. X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_DELAY 플래그가 지정되지 않은 경우 pDelayTimes 멤버는 NULL일 수 있습니다.

참고 이 멤버는 스테레오 출력을 위해 X3DAudio가 초기화된 경우에만 반환됩니다. 일반적인 Xbox 360 사용의 경우 데이터를 전혀 반환하지 않습니다.
 

SrcChannelCount

원본 채널 수입니다. X3DAudioCalculate를 호출하기 전에 이 채널을 방출기 채널 수로 초기화해야 합니다.

DstChannelCount

원본 채널 수입니다. X3DAudioCalculate를 호출하기 전에 이 채널을 방출기 채널 수로 초기화해야 합니다.

LPFDirectCoefficient

LPF 직접 경로 계수입니다. X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_LPF_DIRECT 플래그가 지정된 경우에만 계산됩니다.

XAudio2와 함께 X3DAudio를 사용하는 경우 LPFDirectCoefficient 멤버에 반환된 값은 IXAudio2Voice::SetFilterParameters를 사용하여 원본 음성의 로우 패스 필터에 적용됩니다.

LPFReverbCoefficient

LPF 반향 경로 계수입니다.

X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_LPF_REVERB 플래그가 지정된 경우에만 계산됩니다.

ReverbLevel

반향 보내기 수준입니다. X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_REVERB 플래그가 지정된 경우에만 계산됩니다.

DopplerFactor

도플러 시프트 팩터. Doppler 시프트 효과에 대한 리샘플러 비율을 조정합니다. 여기서 다음을 수행합니다.

effective_frequency = DopplerFactor × original_frequency

X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_DOPPLER 플래그가 지정된 경우에만 계산됩니다.

XAudio2와 함께 X3DAudio를 사용하는 경우 DopplerFactor에 반환된 값은 IXAudio2SourceVoice::SetFrequencyRatio를 사용하여 원본 음성에 적용됩니다.

EmitterToListenerAngle

방출기 전면 방향과 관련하여 라디안으로 표현된 방출기-수신기 내부 각도입니다.

X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_EMITTER_ANGLE 플래그가 지정된 경우에만 계산됩니다.

EmitterToListenerDistance

수신기에서 방출기 기준 위치까지 사용자 정의 월드 단위의 거리입니다.

EmitterVelocityComponent

초당 사용자 정의 월드 단위로 방출기-수신기 벡터에 프로젝션된 방출기 속도 벡터의 구성 요소입니다.

X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_DOPPLER 플래그가 지정된 경우에만 계산됩니다.

ListenerVelocityComponent

초당 사용자 정의 월드 단위로 방출>기 수신기 벡터에 프로젝션된 수신기 속도 벡터의 구성 요소입니다. X3DAudioCalculate를 호출할 때 X3DAUDIO_CALCULATE_DOPPLER 플래그가 지정된 경우에만 계산됩니다.

설명

이 구조를 X3DAudioCalculate 함수에 전달하기 전에 다음 멤버를 초기화해야 합니다.

  • pMatrixCoefficients

  • pDelayTimes
  • SrcChannelCount

  • DstChannelCount
다음 멤버는 이 구조를 X3DAudioCalculate 함수에 전달하여 반환됩니다.
  • pMatrixCoefficients

  • pDelayTimes

  • LPFDirectCoefficient

  • LPFReverbCoefficient
  • ReverbLevel

  • DopplerFactor

  • EmitterToListenerAngle
  • EmitterToListenerDistance

  • EmitterVelocityComponent

  • ListenerVelocityComponent
참고pMatrixCoefficientspDelayTimes의 경우 X3DAudioCalculate 는 추가 메모리를 할당하지 않습니다. X3DAudioCalculate 는 이러한 포인터에 할당된 메모리 위치의 값만 수정합니다.
 

플랫폼 요구 사항

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

요구 사항

요구 사항
헤더 x3daudio.h

추가 정보

구조체