다음을 통해 공유


방법: 서브믹스 음성 사용

이 항목에서는 음성 그룹을 설정하여 동일한 서브믹스 음성으로 출력을 보내는 방법을 보여 줍니다. 이렇게 하면 서브믹스 음성을 한 번의 변경으로 전체 음성 그룹에 영향을 줄 수 있습니다.

  1. 게임의 모든 음향 효과 음성이 보낼 서브믹스 음성을 만듭니다.

    IXAudio2SubmixVoice * pSFXSubmixVoice;
    pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
    
  2. 서브믹스 음성에 대한 참조가 포함된 XAUDIO2_VOICE_SENDS 구조를 만듭니다.

    XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice};
    XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
    
  3. XAUDIO2_VOICE_SENDS 구조를 만들 때 새 소스 음성에 전달합니다.

    IXAudio2SourceVoice* pSFXSourceVoice;
    if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx,
        0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) )
        return hr;
    
  4. 서브믹스 음성을 조정하여 모든 음향 효과 음성에 변경 내용을 적용합니다.

    이 예제에서는 SetVolume 함수를 사용하여 서브믹스 음성의 볼륨을 변경하면 출력하는 모든 음성의 볼륨이 효과적으로 변경됩니다.

    pSFXSubmixVoice->SetVolume(0.1);
    

음성

XAudio2 프로그래밍 지침

방법: 기본 오디오 처리 그래프 빌드