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.

Diagram memperlihatkan hubungan antara OS Shell, OS Audio, APO, PortCls, dan Audio Driver dalam menangani 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

Windows Driver Model (WDM)

Gambaran Umum Driver Audio