Bagikan melalui


Suara XAudio2

Ada tiga jenis objek suara XAudio2: sumber, submix, dan suara penguasaan . Suara sumber beroperasi pada data audio yang disediakan oleh klien. Suara sumber dan submix mengirimkan outputnya ke satu atau beberapa submix atau suara master. Submix dan suara master mencampur audio dari semua suara yang memberinya makan, dan beroperasi pada hasilnya. Menguasai suara menulis data audio ke perangkat audio.

Tindakan yang Dilakukan oleh Semua Suara

Semua suara melakukan tindakan berikut secara berurutan pada audio yang melakukan perjalanan melaluinya.

  1. Penyesuaian volume secara keseluruhan, memengaruhi semua saluran audio. Lihat IXAudio2Voice::SetVolume.
  2. Rantai opsional yang ditentukan klien dari satu atau beberapa efek DSP, seperti reverb bawaan atau efek pengguna yang ditentukan oleh antarmuka IXAPO . Lihat Efek Audio XAudio2.
  3. Penyesuaian volume output per saluran. Lihat IXAudio2Voice::SetChannelVolumes.
  4. Pisahkan campuran matriks ke setiap suara tujuan atau ke perangkat output audio untuk menguasai suara. Campuran ini mengubah jumlah saluran dalam audio, jika perlu.

Suara Sumber

Gunakan suara sumber untuk mengirimkan data audio ke dalam alur pemrosesan XAudio2. Mereka adalah titik masuk ke dalam Grafik Audio XAudio2. Anda harus mengirim data suara ke suara yang menguasai untuk didengar, baik secara langsung atau melalui suara submix perantara.

Selain tindakan yang dilakukan oleh semua suara, suara sumber melakukan tindakan berikut.

  • Jika perlu, dekoder berjalan terlebih dahulu untuk mengonversi data sumber yang dikodekan ke Modulasi Kode Pulse (PCM).
  • Konversi laju sampel laju variabel (SRC) mengonversi data audio sumber suara ke laju sampel yang diharapkan oleh suara tujuannya, jika perlu, dan juga mendukung perubahan nada dinamis.
  • Filter variabel status opsional dapat digunakan untuk mewarnai suara dengan berbagai cara. Lihat IXAudio2Voice::SetFilterParameters.
  • Filter opsional dapat diterapkan ke output suara. Lihat IXAudio2Voice::SetOutputFilterParameters.

Suara Submix

Suara submix digunakan terutama untuk peningkatan performa dan pemrosesan efek. Anda tidak dapat mengirimkan buffer data langsung ke suara submix. Ini tidak akan dapat didengar kecuali Anda mengirimkannya ke suara yang menguasai. Anda dapat menggunakan suara submix untuk memastikan bahwa sekumpulan data suara tertentu dikonversi ke format yang sama dan memiliki rantai efek tertentu yang diproses pada hasil kolektif.

Selain tindakan yang dilakukan oleh semua suara, suara submix melakukan tindakan berikut.

Suara Mastering

Gunakan suara mastering untuk mewakili perangkat output audio. Anda tidak dapat mengirimkan buffer data langsung ke suara master, tetapi data yang dikirimkan ke jenis suara lain harus masuk ke suara mastering untuk didengar.

Selain tindakan yang dilakukan oleh semua suara, suara yang menguasai melakukan tindakan berikut.

  • Jika Anda membuat suara mastering dengan nilai InputSampleRate eksplisit yang tidak didukung oleh perangkat audio, SRC laju tetap digunakan untuk mengonversi ke laju sampel terdekat yang didukung oleh perangkat.
  • Klip audio output akhir, jika diperlukan oleh perangkat output.

Suara

Panduan Pemrograman XAudio2

IXAudio2SourceVoice

IXAudio2SubmixVoice

IXAudio2MasteringVoice