Bagikan melalui


Cara: Menambahkan atau Menghapus Suara Secara Dinamis Dari Grafik Audio

Anda dapat mengubah grafik audio kapan saja untuk menambahkan atau menghapus suara atau seluruh subgraf. Topik ini memperlihatkan kepada Anda cara menambahkan atau menghapus suara submix dari grafik yang telah dibuat dengan mengikuti langkah-langkah dalam Cara: Membangun Grafik Pemrosesan Audio Dasar. Satu suara dapat mengirim outputnya ke beberapa suara atau ke rantai suara yang panjang. Menghapus atau menambahkan satu suara dapat memiliki efek besar pada grafik audio.

Untuk mengubah grafik audio secara dinamis

Menambahkan dan menghapus suara dari grafik audio sangat mirip dengan menambahkan atau menghapus simpul dari daftar atau grafik yang ditautkan tunggal.

  • Untuk menambahkan suara atau subgraf ke grafik audio

    Atur output suara dalam grafik, suara induk, ke suara yang akan ditambahkan menggunakan fungsi SetOutputVoices . Atur output suara baru ke anak asli suara induk.

    XAUDIO2_SEND_DESCRIPTOR send = {0, pNewVoice};
    XAUDIO2_VOICE_SENDS sendlist = {1, &send};
    pParentVoice->SetOutputVoices(&sendlist);
    send.pOutputVoice = pChildVoice;
    pNewVoice->SetOutputVoices(&sendlist);
    
  • Untuk menghapus suara atau subgraf dari grafik audio

    Atur suara output induk suara yang dihapus ke anak suara yang dihapus. Jika suara yang dihapus berada di akhir grafik, suara induk harus diubah untuk menunjuk ke suara master.

    XAUDIO2_SEND_DESCRIPTOR send = {0, pChildVoice};
    XAUDIO2_VOICE_SENDS sendlist = {1, &send};
    pParentVoice->SetOutputVoices(&sendlist);
    

Perhatikan bahwa untuk kejelasan setiap induk hanya memiliki satu anak dalam contoh ini. Jika simpul induk memiliki beberapa turunan, daftar kirimnya akan berisi array suara alih-alih pointer hanya untuk satu suara.

Grafik Audio

Panduan Pemrograman XAudio2

Cara: Membangun Grafik Pemrosesan Audio Dasar

Cara: Menggunakan Submix Voices

Cara: Membuat Rantai Efek