Postur Audio Pendukung
Gambaran Umum
Perangkat dapat digunakan dalam postur yang berbeda. Untuk tablet, postur pada dasarnya berarti orientasi yang dipegangnya, seperti potret atau lanskap. Pengalaman audio untuk perangkat ini dapat dioptimalkan untuk postur tertentu. Misalnya, titik akhir audio dapat memetakan ulang saluran kiri/kanan untuk pengalaman stereo yang tepat dalam orientasi yang berbeda. Dimungkinkan juga untuk mengkalibrasi mikrofon untuk penekanan kebisingan, pembatalan gema, dll. berdasarkan perubahan lokasi speaker/mikrofon setelah perubahan postur.
Dukungan OS Windows
Postur audio didukung di Windows 11, versi 22000 dan yang lebih baru.
Arsitektur
Skenario terkait postur untuk titik akhir audio didasarkan pada respons Shell terhadap perubahan postur. Shell bekerja dengan Sensor dan input pengguna (misalnya kunci orientasi) untuk menentukan postur sistem secara keseluruhan. Tumpukan Audio OS menerima pemberitahuan postur dari Shell dan menginformasikan titik akhir audio yang mendukung DDI Postur Audio.
Tumpukan Audio tidak mengubah konten aliran audio sebagai respons terhadap perubahan postur. Sebaliknya, Tumpukan Audio menginformasikan driver audio tentang perubahan ini. Harapannya adalah agar komponen audio IHV beradaptasi dengan perubahan ini dengan pemrosesan sinyal yang diterapkan dalam perangkat keras (DSP) atau sebagai APO perangkat lunak.
Untuk PC desktop, skenario terkait postur untuk titik akhir audio selaras dengan layar. Tumpukan Audio OS menerima pemberitahuan postur dari layar dan menginformasikan titik akhir audio yang mendukung DDI Postur Audio.
Diagram berikut menunjukkan hubungan dan alur kontrol antara komponen yang terlibat dengan penanganan perubahan postur untuk perangkat audio.
Komponen
Shell OS dan sensor
Shell memantau berbagai informasi sensor yang disediakan oleh driver sensor. Seiring dengan informasi sensor, Shell mempertimbangkan preferensi pengguna, seperti kunci orientasi dan penimpaan aplikasi, untuk menentukan postur sistem.
Tumpukan Audio OS
Tumpukan Audio OS menerima informasi postur dari Shell. Ketika perubahan pada postur sistem terjadi, Tumpukan Audio menginformasikan titik akhir audio yang sadar postur menggunakan Properti KS.
Driver audio IHV dan APO
Driver audio IHV bersama dengan APO opsional menangani perubahan postur dari TUmpukan Audio OS. Hanya perangkat audio onboard yang terletak langsung di sasis utama mesin yang terkena dampak perubahan postur harus menunjukkan dukungan untuk postur.
Persyaratan dukungan titik akhir audio
Tabel berikut ini memperlihatkan jenis titik akhir audio yang seharusnya dan tidak boleh memberikan dukungan postur.
Tipe Titik Akhir Audio | Dukungan Postur |
---|---|
Speaker Built-In | Ya |
Built-In Array Mikrofon/Mikrofon | Ya |
Wired-Headset | Tidak |
HDMI/DisplayPort | Tidak |
Audio USB Eksternal | Tidak |
Bluetooth Audio | Tidak |
Persyaratan driver audio
Informasi postur diberikan kepada driver audio IHV dalam bentuk orientasi. Driver audio IHV diharapkan memiliki pengetahuan implisit tentang faktor bentuk perangkat, dan harus dapat mengidentifikasi orientasi default dan posisi speaker/mikrofon relatif. Informasi ini dapat diambil dari ACPI atau oleh mekanisme IHV lainnya.
Struktur dan konstanta data
PROPSETID
Ini adalah GUID yang digunakan untuk id set properti KS.
KSPROPSETID_AudioPosture =A3FB7B0D-474E-4F51-A379-51282DD4FA8F
ID PROPERTI
Ini adalah nilai yang digunakan untuk ID KSPROPERTY.
KSPROPERTY_AUDIOPOSTURE_ORIENTATION = 1
DESKRIPSI PROPERTI - AUDIOPOSTURE_ORIENTATION
Properti ini menentukan orientasi sistem saat ini. Orientasi diwakili oleh derajat rotasi dari orientasi default. Informasi orientasi sinkron dengan OS Shell, yang mencakup kunci orientasi pengguna/aplikasi. Driver audio menerima enumerasi ini saat menangani permintaan properti Set untuk KSPROPERTY_AUDIOPOSTURE_ORIENTATION.
typedef enum
{
AUDIOPOSTURE_PANEL_ORIENTATION_NOTROTATED = 0,
AUDIOPOSTURE_PANEL_ORIENTATION_ROTATED90DEGREESCOUNTERCLOCKWISE,
AUDIOPOSTURE_PANEL_ORIENTATION_ROTATED180DEGREESCOUNTERCLOCKWISE,
AUDIOPOSTURE_PANEL_ORIENTATION_ROTATED270DEGREESCOUNTERCLOCKWISE,
} AUDIOPOSTURE_ORIENTATION;
Untuk informasi selengkapnya, lihat enum AUDIOPOSTURE_ORIENTATION.
PENANGANAN PROPERTI
Driver audio harus menerapkan KSPROPSETID_AudioPosture – KSPROPERTY_AUDIOPOSTURE_ORIENTATION sebagai properti pin-wise yang diakses melalui handel filter. Properti harus didukung pada pin jembatan, yaitu, pin yang mewakili titik akhir perangkat keras, untuk titik akhir.
DUKUNGAN DASAR – KSPROPERTY_TYPE_BASICSUPPORT
Driver audio harus mengembalikan dukungan untuk Set dan bendera akses.
SET – KSPROPERTY_TYPE_SET
Driver audio menerima pointer untuk AUDIOPOSTURE_ORIENTATION sebagai parameter nilai permintaan properti. Menanggapi permintaan properti ini, driver audio dapat menerapkan perubahan perangkat keras atau perangkat lunak yang diperlukan untuk status postur baru. Mengembalikan keberhasilan menunjukkan bahwa driver telah selesai memproses perubahan. Jika APO IHV perlu menerima informasi postur dari driver audio, Modul Audio dapat digunakan untuk menyediakan mekanisme pemberitahuan. Driver harus menyimpan nilai sehingga dapat diterapkan saat keluar dari daya rendah/hibernasi
AUDIOPOSTURE_ORIENTATION Orientation = *((AUDIOPOSTURE_ORIENTATION*)PropertyRequest->Value);
switch (Orientation)
{
case AUDIOPOSTURE_ORIENTATION_NOTROTATED:
//Cache and process the orientation
.
.
case AUDIOPOSTURE_ORIENTATION_ROTATED90DEGREESCOUNTERCLOCKWISE:
//Cache and process the orientation
.
.
case AUDIOPOSTURE_ORIENTATION_ROTATED180DEGREESCOUNTERCLOCKWISE:
//Cache and process the orientation
.
.
case AUDIOPOSTURE_ORIENTATION_ROTATED270DEGREESCOUNTERCLOCKWISE:
//Cache and process the orientation
.
.
}
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