XAudio2 Voices
Ada tiga jenis objek suara XAudio2: sumber, submix , dan menguasai suara. Suara sumber beroperasi pada data audio yang disediakan oleh klien. Suara sumber dan submix mengirimkan outputnya ke satu atau beberapa submix atau suara penguasaan. Submix dan suara mastering 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 berjalan melaluinya.
- Penyesuaian volume secara keseluruhan, memengaruhi semua saluran audio. Lihat IXAudio2Voice::SetVolume.
- Rantai opsional yang ditentukan klien dari satu atau beberapa efek DSP, seperti reverb bawaan atau efek pengguna yang ditentukan oleh antarmukaIXAPO. Lihat Efek Audio XAudio2.
- Penyesuaian volume output per saluran. Lihat IXAudio2Voice::SetChannelVolumes.
- 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 alur pemrosesan XAudio2. Mereka adalah titik masuk ke XAudio2 Audio Graph . Anda harus mengirim data suara ke suara yang menguasai untuk didengar, baik secara langsung atau melalui suara submix menengah.
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 terdengar 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 agar rantai efek tertentu diproses pada hasil kolektif.
Selain tindakan yang dilakukan oleh semua suara, suara submix melakukan tindakan berikut.
- SRC laju tetap berjalan pada output suara, jika perlu, untuk mengonversi audio ke laju sampel yang diharapkan oleh suara tujuannya.
- 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.
Mastering Voices
Gunakan suara mastering untuk mewakili perangkat output audio. Anda tidak dapat mengirimkan buffer data langsung ke suara yang menguasai, tetapi data yang dikirimkan ke jenis suara lain harus masuk ke suara penguasaan untuk didengar.
Selain tindakan yang dilakukan oleh semua suara, penguasaan suara 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 tingkat sampel terdekat yang didukung oleh perangkat.
- Klip audio output akhir, jika diperlukan oleh perangkat output.
Topik terkait