struktur KSAUDIO_CHANNEL_CONFIG (ksmedia.h)
Struktur KSAUDIO_CHANNEL_CONFIG menentukan konfigurasi saluran dalam format data aliran audio.
Sintaks
typedef struct {
LONG ActiveSpeakerPositions;
} KSAUDIO_CHANNEL_CONFIG, *PKSAUDIO_CHANNEL_CONFIG;
Anggota
ActiveSpeakerPositions
Menentukan jumlah saluran dan penetapan saluran tersebut ke posisi pembicara. Anggota ini adalah bitmask di mana setiap bit dalam masker sesuai dengan posisi pembicara tertentu. Jika bit masker diatur, aliran audio berisi saluran yang ditetapkan ke posisi speaker yang diwakili bit masker. Jumlah saluran dalam aliran diperoleh dengan menghitung berapa banyak nomor satu yang muncul di bitmask. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
Keterangan
Struktur ini digunakan untuk mengatur atau mendapatkan nilai data untuk properti KSPROPERTY_AUDIO_CHANNEL_CONFIG .
Tabel berikut ini memperlihatkan bit bendera yang ditentukan untuk anggota ActiveSpeakerPositions .
Posisi pembicara | Bit bendera |
---|---|
SPEAKER_FRONT_LEFT | 0x1 |
SPEAKER_FRONT_RIGHT | 0x2 |
SPEAKER_FRONT_CENTER | 0x4 |
SPEAKER_LOW_FREQUENCY | 0x8 |
SPEAKER_BACK_LEFT | 0x10 |
SPEAKER_BACK_RIGHT | 0x20 |
SPEAKER_FRONT_LEFT_OF_CENTER | 0x40 |
SPEAKER_FRONT_RIGHT_OF_CENTER | 0x80 |
SPEAKER_BACK_CENTER | 0x100 |
SPEAKER_SIDE_LEFT | 0x200 |
SPEAKER_SIDE_RIGHT | 0x400 |
SPEAKER_TOP_CENTER | 0x800 |
SPEAKER_TOP_FRONT_LEFT | 0x1000 |
SPEAKER_TOP_FRONT_CENTER | 0x2000 |
SPEAKER_TOP_FRONT_RIGHT | 0x4000 |
SPEAKER_TOP_BACK_LEFT | 0x8000 |
SPEAKER_TOP_BACK_CENTER | 0x10000 |
SPEAKER_TOP_BACK_RIGHT | 0x20000 |
Setiap format data audio berisi saluran untuk satu atau beberapa posisi pembicara sebelumnya. Jumlah saluran hanya sama dengan jumlah bit bendera bukan nol di anggota ActiveSpeakerPositions .
Posisi relatif saluran dalam setiap blok data audio selalu mengikuti urutan relatif yang sama dengan bit bendera dalam tabel sebelumnya. Misalnya, jika ActiveSpeakerPositions berisi nilai 0x00000033, format menentukan empat saluran audio yang ditetapkan untuk pemutaran masing-masing speaker kiri depan, kanan depan, kiri belakang, dan kanan belakang. Data saluran harus diselingi dalam urutan tersebut dalam setiap blok. (Ini adalah konfigurasi KSAUDIO_SPEAKER_QUAD yang muncul di tabel kedua dari dua tabel berikut.)
Tabel berikut menunjukkan konfigurasi speaker yang ditentukan untuk DVD.
Konfigurasi | Posisi pembicara |
---|---|
KSAUDIO_SPEAKER_GROUND_FRONT_LEFT | SPEAKER_FRONT_LEFT |
KSAUDIO_SPEAKER_GROUND_FRONT_CENTER | SPEAKER_FRONT_CENTER |
KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT | SPEAKER_FRONT_RIGHT |
KSAUDIO_SPEAKER_GROUND_REAR_LEFT | SPEAKER_BACK_LEFT |
KSAUDIO_SPEAKER_GROUND_REAR_RIGHT | SPEAKER_BACK_RIGHT |
KSAUDIO_SPEAKER_TOP_MIDDLE | SPEAKER_TOP_CENTER |
KSAUDIO_SPEAKER_SUPER_WOOFER | SPEAKER_LOW_FREQUENCY |
Tabel berikut menunjukkan konfigurasi pembicara yang ditentukan untuk DirectSound.
Konfigurasi | Posisi pembicara |
---|---|
KSAUDIO_SPEAKER_DIRECTOUT | 0 (tanpa speaker) |
KSAUDIO_SPEAKER_MONO | SPEAKER_FRONT_CENTER |
KSAUDIO_SPEAKER_STEREO | SPEAKER_FRONT_LEFT |
SPEAKER_FRONT_RIGHT | |
KSAUDIO_SPEAKER_QUAD | SPEAKER_FRONT_LEFT |
SPEAKER_FRONT_RIGHT | |
SPEAKER_BACK_LEFT | |
SPEAKER_BACK_RIGHT | |
KSAUDIO_SPEAKER_SURROUND | SPEAKER_FRONT_LEFT |
SPEAKER_FRONT_RIGHT | |
SPEAKER_FRONT_CENTER | |
SPEAKER_BACK_CENTER | |
KSAUDIO_SPEAKER_5POINT1 | SPEAKER_FRONT_LEFT |
SPEAKER_FRONT_RIGHT | |
SPEAKER_FRONT_CENTER | |
SPEAKER_LOW_FREQUENCY | |
SPEAKER_BACK_LEFT | |
SPEAKER_BACK_RIGHT | |
KSAUDIO_SPEAKER_5POINT1_SURROUND | SPEAKER_FRONT_LEFT |
SPEAKER_FRONT_RIGHT | |
SPEAKER_FRONT_CENTER | |
SPEAKER_LOW_FREQUENCY | |
SPEAKER_SIDE_LEFT | |
SPEAKER_SIDE_RIGHT | |
KSAUDIO_SPEAKER_7POINT1 | SPEAKER_FRONT_LEFT |
SPEAKER_FRONT_RIGHT | |
SPEAKER_FRONT_CENTER | |
SPEAKER_LOW_FREQUENCY | |
SPEAKER_BACK_LEFT | |
SPEAKER_BACK_RIGHT | |
SPEAKER_FRONT_LEFT_OF_CENTER | |
SPEAKER_FRONT_RIGHT_OF_CENTER | |
KSAUDIO_SPEAKER_7POINT1_SURROUND | SPEAKER_FRONT_LEFT |
SPEAKER_FRONT_RIGHT | |
SPEAKER_FRONT_CENTER | |
SPEAKER_LOW_FREQUENCY | |
SPEAKER_BACK_LEFT | |
SPEAKER_BACK_RIGHT | |
SPEAKER_SIDE_LEFT | |
SPEAKER_SIDE_RIGHT |
Konfigurasi speaker KSAUDIO_SPEAKER_7POINT1, usang dan tidak lagi didukung.
Dalam tabel sebelumnya, konstanta KSAUDIO_SPEAKER_DIRECTOUT memiliki nilai nol, yang berarti bahwa tidak ada posisi pembicara yang ditetapkan ke saluran di aliran multisaluran. Misalnya, nol saluran mungkin mewakili perkusi, saluran 1 mungkin mewakili terompet, saluran 2 mungkin mewakili suara, dan sebagainya. Dalam konfigurasi ini, saluran dalam aliran input adalah output langsung ke perangkat keras tanpa modifikasi dan tanpa ditafsirkan sebagai posisi pembicara. Untuk informasi selengkapnya, lihat konfigurasi pembicara DSSPEAKER_DIRECTOUT.
Konfigurasi speaker untuk format surround 5.1-channel ditentukan oleh konstanta KSAUDIO_SPEAKER_5POINT1_SURROUND dalam tabel sebelumnya. Tata letak geometrik speaker ditampilkan dalam gambar berikut, yang menunjukkan posisi speaker kiri depan, kanan depan, tengah depan, kiri samping, dan kanan samping. Gambar menghilangkan speaker frekuensi rendah karena tidak dialihkan.
Untuk contoh ini, daftar berikut menunjukkan urutan enam saluran dalam setiap blok data audio:
SPEAKER_FRONT_LEFT
SPEAKER_FRONT_RIGHT
SPEAKER_FRONT_CENTER
SPEAKER_LOW_FREQUENCY
SPEAKER_SIDE_LEFT
SPEAKER_SIDE_RIGHT
Untuk format PCM dengan ukuran sampel 16-bit, setiap blok data audio menempati 12 byte, yang diurutkan seperti yang ditunjukkan dalam tabel berikut.
Byte | Data audio |
---|---|
0 | Kiri Depan (8 LSB) |
1 | Kiri Depan (8 MSB) |
2 | Kanan Depan (8 LSB) |
3 | Kanan Depan (8 MSB) |
4 | Front Center (8 LSB) |
5 | Front Center (8 MSB) |
6 | Freq Rendah (8 LSB) |
7 | Freq Rendah (8 MSB) |
8 | Kiri Samping (8 LSB) |
9 | Kiri Samping (8 MSB) |
10 | Kanan Samping (8 LSB) |
11 | Kanan Samping (8 MSB) |
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ksmedia.h (termasuk Ksmedia.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk