Gambaran Umum XAPO

XAPO API memungkinkan pembuatan objek pemrosesan audio lintas platform (XAPO) untuk digunakan di XAudio2 pada Windows dan Xbox 360. XAPO adalah objek yang mengambil data audio masuk, dan melakukan beberapa operasi pada data sebelum meneruskannya. Anda dapat menggunakan XAPO untuk melakukan berbagai tugas, termasuk menambahkan gaung ke aliran audio dan memantau tingkat volume puncak.

Membuat XPO Baru

API XAPO menyediakan antarmuka IXAPO dan kelas CXAPOBase untuk membangun jenis XAPO baru. Antarmuka IXAPO berisi semua metode yang perlu diimplementasikan untuk membuat XAPO baru. Kelas CXAPOBase menyediakan implementasi dasar antarmuka IXAPO . CXAPOBase mengimplementasikan semua metode antarmuka IXAPO kecuali metode IXAPO::P rocess , yang unik untuk setiap XAPO.

Untuk contoh membuat XAPO baru, lihat Cara: Membuat XAPO.

Untuk contoh pembuatan XAPO yang menerima parameter run-time, lihat Cara: Menambahkan Dukungan Parameter Run-time ke XAPO.

XPO dan COM

XPO mengimplementasikan antarmuka IUnknown . Antarmuka IXAPO dan IXAPOParameters mencakup tiga metode IUnknown : QueryInterface, AddRef, dan Release. CXAPOBase menyediakan implementasi ketiga metode IUnknown. Instans baru CXAPOBase akan memiliki jumlah referensi 1. Ini akan dihancurkan ketika jumlah referensinya menjadi 0. Implementasi IXAPO dan IXAPOParameters harus mengikuti pola yang sama untuk memungkinkan manajemen yang tepat ketika digunakan dengan XAudio2.

Instans XAPO diteruskan ke XAudio2 sebagai antarmuka IUnknown . XAudio2 menggunakan QueryInterface untuk memperoleh antarmuka IXAPO dan untuk mendeteksi apakah XAPO mengimplementasikan antarmuka IXAPOParameters . Implementasi IXAPO harus menerima permintaan untuk __uuidof(IXAPO). Jika IXAPOParameters diterapkan, IXAPOParameters juga harus menerima permintaan untuk __uuidof(IXAPOParameters).

Menggunakan XAPO di XAudio2

XPO digunakan di XAudio2 dengan melampirkannya ke suara. Setiap suara XAudio2 memiliki rantai efek yang berisi nol atau lebih efek audio. Data audio yang dikirim ke suara diteruskan melalui setiap efek dalam rantai sebelum dikirim ke target output suara. Data diteruskan dari suara ke setiap efek menggunakan parameter pInputProcessParameters dari metode IXAPO::P rocess . Kemudian dikembalikan ke suara menggunakan parameter pOutputProcessParameters . Suara mengambil output dari setiap efek, dan mengumpankannya ke efek berikutnya dalam rantai sampai tidak ada efek yang tersisa dalam rantai.

Untuk informasi selengkapnya tentang rantai efek XAudio2, lihat Efek Audio XAudio2.

Untuk contoh penggunaan XAPO di XAudio2, lihat Cara: Menggunakan XAPO di XAudio2.

Pustaka Efek

Pustaka efek XAPO berisi beberapa XPO, dan metode umum untuk membuat instansnya. Lihat Gambaran Umum XAPOFX untuk informasi tentang XAPOFX. Selain itu, XAudio2 memiliki efek reverb dan meter volume bawaan. Lihat Efek Audio XAudio2 untuk informasi selengkapnya tentang efek XAudio2 bawaan.

Efek Audio

Efek Audio XAudio2