Metode IXAudio2Voice::SetOutputMatrix (xaudio2.h)
Mengatur tingkat volume setiap saluran output akhir untuk suara. Saluran ini dipetakan ke saluran input dari suara tujuan tertentu.
Sintaks
\\HRESULT SetOutputMatrix(
[in] IXAudio2Voice *pDestinationVoice,
[in] UINT32 SourceChannels,
[in] UINT32 DestinationChannels,
[in] const float *pLevelMatrix,
[in] UINT32 OperationSet
);
Parameter
[in] pDestinationVoice
Arahkan ke IXAudio2Voice tujuan untuk mengatur tingkat volume.
[in] SourceChannels
Mengonfirmasi jumlah saluran output suara. Ini adalah jumlah saluran yang diproduksi oleh efek terakhir dalam rantai.
[in] DestinationChannels
Mengonfirmasi jumlah saluran input suara tujuan.
[in] pLevelMatrix
Array tingkat volume [SourceChannels × DestinationChannels] yang dikirim ke suara tujuan. Tingkat yang dikirim dari saluran sumber S ke saluran tujuan D ditentukan dalam bentuk pLevelMatrix[SourceChannels × D + S].
Misalnya, saat merender input stereo dua saluran ke dalam output 5,1 yang tertimbang terhadap saluran depan—tetapi tidak ada dari saluran tengah dan frekuensi rendah—matriks mungkin memiliki nilai yang ditunjukkan dalam tabel berikut.
Output | Input Kiri [Indeks Array] | Input Kanan [Indeks Array] |
---|---|---|
Left | 1.0 [0] | 0.0 [1] |
Hak | 0.0 [2] | 1.0 [3] |
Tengah Depan | 0.0 [4] | 0.0 [5] |
LFE | 0.0 [6] | 0.0 [7] |
Kiri Belakang | 0.8 [8] | 0.0 [9] |
Kanan Belakang | 0.0 [10] | 0.8 [11] |
[in] OperationSet
Mengidentifikasi panggilan ini sebagai bagian dari batch yang ditangguhkan. Lihat gambaran umum XAudio2 Operation Sets untuk informasi selengkapnya.
Mengembalikan nilai
Mengembalikan S_OK jika berhasil, kode kesalahan sebaliknya. Lihat Kode Kesalahan XAudio2 untuk deskripsi kode kesalahan.
Keterangan
Metode ini hanya berlaku untuk suara sumber dan submix, karena menguasai suara menulis langsung ke perangkat tanpa pencampuran matriks.
Tingkat volume dinyatakan sebagai pengali amplitudo floating-point antara -XAUDIO2_MAX_VOLUME_LEVEL dan XAUDIO2_MAX_VOLUME_LEVEL (-2²⁴ hingga 2²⁴), dengan perolehan maksimum 144,5 dB. Tingkat volume 1,0 berarti tidak ada redaman atau perolehan dan 0 berarti keheningan. Tingkat negatif dapat digunakan untuk menginversi fase audio. Lihat Volume XAudio2 dan Kontrol Pitch untuk informasi tambahan tentang kontrol volume.
Fungsi X3DAudioX3DAudioCalculate dapat menghasilkan matriks output untuk digunakan dengan SetOutputMatrix berdasarkan posisi suara dan posisi pendengar.
Persyaratan Platform
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Persyaratan
Target Platform | Windows |
Header | xaudio2.h |