Bagikan melalui


Persyaratan Node-Ordering DirectSound

Pin mixer DirectSound 2D atau 3D harus memiliki rantai node yang berisi urutan node berikut:

Simpul dalam daftar ini muncul dalam urutan di mana mereka ditemui oleh streaming data ke dalam pin. Simpul lain dapat diselingi antara simpul ini tanpa menyebabkan masalah, asalkan urutan di atas dipertahankan.

Pin 2D memerlukan semua simpul dalam daftar sebelumnya, kecuali untuk simpul 3D, yang bersifat opsional. Pin 3D memerlukan semua simpul dalam daftar, termasuk simpul 3D.

Simpul SRC (konversi laju sampel) harus mendahului simpul SUM. Simpul SRC dan SUM biasanya berdekatan, meskipun ini bukan persyaratan. Metode IDirectSoundBuffer::SetFrequency (lihat dokumentasi Microsoft Windows SDK) mengganggu laju pengambilan sampel ulang simpul SRC.

Mixer yang hanya berisi simpul SRC dan SUM cukup untuk mencampur aliran yang dikelola oleh driver sistem seperti SWMidi dan Redbook (lihat Driver Sistem SWMidi dan Driver Sistem Redbook), tetapi DirectSound juga mengharuskan dua node volume dan node supermixer mendahului simpul SUM. DirectSound mengirimkan perubahan volume yang dihasilkan dari panggilan IDirectSoundBuffer::SetVolume ke node volume pertama dan mengirim efek panning dari panggilan IDirectSoundBuffer::SetPan ke node volume kedua.

DirectSound dapat menghasilkan efek 3D pada pin 2D dengan menggunakan panggilan SetVolume, SetPan, dan SetFrequency untuk mengontrol volume dan simpul SRC:

  • Panggilan SetVolume dapat mensimulasikan perubahan jarak sumber suara dari pendengar.

  • Panggilan SetPan dapat mensimulasikan perubahan orientasi sumber suara yang relatif terhadap pendengar.

  • Panggilan SetFrequency dapat mensimulasikan efek Doppler dan HRTF (fungsi transfer terkait kepala).

Simpul supermixer adalah matriks crossbar yang menghubungkan saluran input M ke saluran output N, di mana N harus sama dengan jumlah saluran dalam aliran output akhir perangkat Anda.

Simpul 3D opsional diperlukan untuk mengelola efek 3D yang dipercepat perangkat keras (lihat Mendukung Akselerasi DirectSound 3D dalam Audio WDM), tetapi tidak diperlukan untuk pemrosesan 3D yang ditiru perangkat lunak. Sebagian besar implementasi yang ada menempatkan simpul 3D sebelum simpul SRC dan antara node volume pertama dan simpul supermixer, tetapi konfigurasi lain dimungkinkan.

Aliran input ke simpul 3D biasanya berisi satu saluran. Di DirectSound 8.0 dan yang lebih baru, hanya buffer PCM mono yang dapat dibuat dengan efek 3D. Namun, versi DirectSound yang lebih lama mendukung simpul 3D dengan aliran input mono dan stereo, dan driver harus mendukung keduanya untuk memastikan kompatibilitas dengan aplikasi yang lebih lama.