방법: 오디오 메서드를 작업 집합으로 그룹화

이 항목에서는 XAudio2 메서드를 그룹화하여 동시에 적용하는 방법을 보여 줍니다.

오디오 메서드를 작업 집합으로 그룹화하려면

  1. 전역 작업 집합 카운터를 선언합니다.

    작업 집합 카운터는 각 작업 집합이 고유하도록 합니다.

    UINT32 OperationSetCounter = 0;
    
  2. 전역 카운터를 증분합니다.

    작업 집합을 제출할 때마다 전역 카운터가 증가하여 각 집합이 고유한지 확인해야 합니다.

    UINT32 OperationID = UINT32(InterlockedIncrement(LPLONG(&OperationSetCounter)));
    
  3. 작업 집합 매개 변수를 설정하여 메서드 호출을 그룹화합니다.

  4. 작업 집합 매개 변수를 전역 카운터의 현재 값으로 설정합니다.

    이 경우 IXAudio2SourceVoice::Start 에 대한 4개의 호출이 하나의 작업 집합으로 그룹화됩니다. 호출을 그룹화하면 네 개의 소리가 모두 정확히 동시에 시작됩니다.

    hr = pSFXSourceVoice1->Start( 0, OperationID );
    hr = pSFXSourceVoice2->Start( 0, OperationID );
    hr = pSFXSourceVoice3->Start( 0, OperationID );
    hr = pSFXSourceVoice4->Start( 0, OperationID );
    
  5. 작업 집합을 시작합니다.

    집합의 모든 메서드를 호출한 후 전역 카운터의 현재 값으로 IXAudio2::CommitChanges 를 호출하여 집합을 시작합니다.

    pXAudio2->CommitChanges(OperationID);
    

작업 집합

XAudio2 프로그래밍 지침

XAudio2 작업 집합