Bagikan melalui


Cara: Menggunakan Submix Voices

Topik ini menunjukkan kepada Anda bagaimana Anda dapat mengatur grup suara untuk mengirim outputnya ke suara submix yang sama. Ini memungkinkan satu perubahan pada suara submix untuk memengaruhi seluruh grup suara.

  1. Buat suara submix yang akan dikirim oleh semua suara efek suara game.

    IXAudio2SubmixVoice * pSFXSubmixVoice;
    pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
    
  2. Buat struktur XAUDIO2_VOICE_SENDS yang berisi referensi ke suara submix.

    XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice};
    XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
    
  3. Teruskan struktur XAUDIO2_VOICE_SENDS ke suara sumber baru saat dibuat.

    IXAudio2SourceVoice* pSFXSourceVoice;
    if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx,
        0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) )
        return hr;
    
  4. Terapkan perubahan pada semua suara efek suara dengan menyesuaikan suara submix.

    Dalam contoh ini, mengubah volume suara submix dengan fungsi SetVolume secara efektif mengubah volume semua suara yang menghasilkannya.

    pSFXSubmixVoice->SetVolume(0.1);
    

Suara

Panduan Pemrograman XAudio2

Cara: Membangun Grafik Pemrosesan Audio Dasar