Bagikan melalui


Pencahayaan dinamis

Topik ini menjelaskan bagaimana aplikasi Windows Anda dapat memberikan efek pencahayaan dinamis di seluruh perangkat yang terhubung yang mengimplementasikan standar Pencahayaan dan Iluminasi Perangkat Antarmuka Manusia (HID) terbuka. Secara khusus, spesifikasi LampArray untuk perangkat yang memiliki satu atau beberapa lampu (lampu, LED, bohlam, dan sebagainya).

API penting

Gambaran Umum

Dukungan pencahayaan dinamis di Windows memungkinkan pengembang aplikasi dan pengguna akhir mengontrol dan menyinkronkan efek pencahayaan di seluruh periferal dan perangkat lain yang terhubung.

Jenis dan platform aplikasi yang didukung

  • Win10 versi 1809 (Oktober 2018) dan yang lebih baru.
    • Berlaku untuk aplikasi UWP latar depan dan Win32.
  • Windows 11 Build 23466 (Pratinjau) dan yang lebih baru.
    • Berlaku untuk aplikasi UWP dan Win32 latar depan dan latar belakang (sekitar).
  • Xbox GDK Maret 2023 Pembaruan 1 dan yang lebih baru.

Perangkat dan jenis perangkat yang didukung

  • Keyboard atau keypad
  • Mouse
  • Pengontrol game (gamepad, flightstick, setir, dan sebagainya).
  • Periferal (perangkat umum seperti speaker, bantalan mouse, mikrofon, webcam, dan sebagainya).
  • Adegan (perangkat ruangan/panggung/area seperti bola lampu, lampu sorot, lampu strobo, papan iklan, lampu kilat kamera, dan sebagainya).
  • Pemberitahuan (perangkat perhatian pengguna seperti alarm, asisten suara, dan sebagainya).
  • Sasis (komponen PC internal seperti RAM, motherboard, kipas angin, dan sebagainya).
  • Wearable (aksesori seperti headset, jam tangan, fitness tracker, sepatu, dan sebagainya).
  • Furnitur (seperti kursi, meja, bookcase, dan sebagainya).
  • Seni (seperti lukisan atau patung).
  • Headset (aksesori yang dirancang khusus untuk kepala, seperti headphone atau mikrofon).

Aplikasi Windows dapat mengontrol perangkat HID LampArray ketika aplikasi berada di latar depan (dimulai dengan Windows 10) dan ketika berada di latar belakang (juga dikenal sebagai pencahayaan sekitar, dimulai dengan Windows 11).

Pengguna dapat menyesuaikan pengalaman perangkat LampArray mereka (latar depan dan latar belakang) melalui layar Pengaturan -> Personalisasi -> Pencahayaan dinamis, memungkinkan mereka menyinkronkan perangkat dari berbagai produsen, mengontrol kecerahan dan efek di seluruh perangkat dan faktor bentuk yang dipilih, dan memprioritaskan akses ke perangkat oleh aplikasi latar belakang sekitar. Fitur-fitur ini memungkinkan aplikasi Anda untuk menghibur pengguna, membuatnya lebih produktif, membuat pengalaman mereka di Seluruh Windows lebih mudah diakses, dan memberikan pengalaman kohesif di seluruh set perangkat yang kompatibel dengan Dynamic Lighting.

Screenshot of the Dynamic Lighting settings screen.

Prioritas perangkat

Windows memprioritaskan pencahayaan dinamis berdasarkan status aplikasi. Secara default, aplikasi latar depan selalu diberi kontrol perangkat LampArray kecuali pengguna telah menentukan sebaliknya dalam Pengaturan. Dalam kasus di mana dua atau beberapa aplikasi latar belakang sekitar mencoba mengontrol perangkat LampArray, sistem akan menetapkan kontrol ke aplikasi yang diprioritaskan dalam Pengaturan.

Pencahayaan latar belakang (sekitar)

API "sekitar" di Windows.Devices.Lights memungkinkan aplikasi latar belakang untuk mengontrol perangkat LampArray saat pengguna berinteraksi dengan aplikasi yang tidak terkait di latar depan (seperti aplikasi musik yang mendorong efek pencahayaan yang disinkronkan).

Aplikasi dapat menerima peristiwa LampArray.AvailabilityChanged , tergantung pada pengaturan pengguna. Bersama dengan kelas DeviceWatcher , aplikasi dapat melacak dan mengelola semua perangkat LampArray yang terhubung/terputus dan melihat mana yang diharapkan pengguna untuk dikontrol aplikasi. Salah satu contoh penggunaan adalah UI yang merender ikon untuk setiap perangkat yang terhubung, yang tidak tersedia berwarna abu-abu, dan tautan ke halaman pengaturan Pencahayaan Dinamis tempat pengguna dapat membuat perubahan pada preferensi aplikasi latar depan/latar belakang.

Pengaturan pengguna

Pengguna dapat mengontrol dan mengonfigurasi perangkat HID LampArray mereka di tingkat individu dan global melalui halaman Pencahayaan Dinamis di Pengaturan -> Personalisasi -> Pencahayaan Dinamis. Halaman ini akan muncul di Pengaturan ketika setidaknya satu perangkat yang kompatibel tersambung ke PC.

Screenshot of the Dynamic Lighting settings screen.

  1. Saat tersambung, perangkat yang kompatibel akan muncul di kartu perangkat di sepanjang bagian atas halaman tempat pengguna dapat mengubah pengaturan perangkat individual.

  2. Pengaturan Pencahayaan Dinamis Global terletak di bawah kartu perangkat (perubahan pada pengaturan ini memengaruhi semua perangkat yang terhubung).

    1. Tombol Gunakan Pencahayaan Dinamis pada perangkat saya memungkinkan pengguna mengaktifkan atau menonaktifkan Pencahayaan Dinamis. Saat Pencahayaan Dinamis mati, perangkat harus berfungsi dengan perilaku Pencahayaan Non-Dinamis defaultnya. Pencahayaan dinamis mencakup serangkaian efek dasar bawaan.
    2. Aplikasi yang kompatibel di latar depan selalu mengontrol pencahayaan memungkinkan pengguna untuk mengaktifkan atau menonaktifkan perilaku aplikasi Dynamic Lighting default. Saat fitur ini dinonaktifkan, aplikasi latar belakang dapat mengontrol perangkat terkaitnya bahkan ketika aplikasi latar depan yang ingin kontrol aktif.
    3. Bagian Kontrol cahaya latar belakang memungkinkan pengguna memprioritaskan aplikasi terinstal yang telah mendaftarkan diri sebagai pengontrol latar belakang sekitar. Menyeret aplikasi ke bagian atas daftar akan memprioritaskannya dan memastikan bahwa aplikasi tersebut dapat mengontrol perangkat melalui aplikasi lain dalam daftar. Pengaturan latar belakang sekitar terikat pada perangkat dan port tempatnya tersambung. Jika Anda mencabut dan kemudian menyambungkan LampArray ke port (USB) yang berbeda, itu akan muncul sebagai perangkat yang berbeda.
    4. Slider Brightness memungkinkan pengguna mengatur kecerahan LED pada perangkat mereka.
    5. Dropdown Efek memungkinkan pengguna memilih warna dan efek untuk perangkat mereka.

    Screenshot of the Dynamic Lighting settings Effects screen.

Catatan

Ketika perangkat tidak dipilih untuk Kontrol cahaya latar belakang, perangkat beroperasi dalam "Mode otonom", yang berarti bahwa perangkat kembali ke perilaku firmware default.

Pengemasan dan identitas aplikasi

Aplikasi latar belakang sekitar harus mendeklarasikan AppExtension "com.microsoft.windows.lighting" dalam manifes aplikasi (untuk detail selengkapnya tentang cara melakukan ini, lihat Membuat dan menghosting ekstensi aplikasi). Persyaratan ini diberlakukan oleh AmbientLightingServer, yang hanya menerima koneksi dari AmbientLightingClient dalam proses dengan identitas paket (aplikasi paket) yang mendukung ekstensi. Persyaratan ini diperlukan untuk memungkinkan pengguna menentukan kebijakan untuk aplikasi yang diinstal dan kemudian menghubungkan kebijakan tersebut saat runtime.

Identitas aplikasi diperlukan untuk aplikasi sekitar sehingga preferensi pengguna dapat ditentukan pada runtime. Setelah aplikasi diinstal, jika menggunakan API sekitar, sistem perlu menghubungkan instans aplikasi yang sedang berjalan dengan preferensi pengguna. Selain itu, membuat aplikasi Anda tersedia untuk pengguna di pengaturan memerlukan artefak pasca penginstalan yang menunjukkan kepada sistem bahwa aplikasi Anda adalah pengguna yang sah dari API pencahayaan sekitar.

Persyaratan identitas ini dicapai melalui kemasan MSIX.

Jika Anda sudah menggunakan kemasan MSIX untuk pengemasan dan penginstalan, tidak ada persyaratan lebih lanjut.

Jika Anda memiliki aplikasi yang belum dikemas, ada langkah tambahan yang diperlukan untuk mendapatkan identitas aplikasi. Anda dapat memigrasikan penginstalan Anda ke MSIX penuh, atau Anda dapat menggunakan fitur Kemasan Sparse dan Lokasi Eksternal MSIX yang disederhanakan. Kemasan Jarang dengan Lokasi Eksternal dirancang untuk memungkinkan penginstalan aplikasi yang ada mendapatkan manfaat identitas aplikasi tanpa memerlukan konversi penuh dari penyiapan/penginstalan ke MSIX. Ini adalah langkah baru dalam penyiapan/penginstalan Anda yang menggunakan alat untuk membuat paket MSIX untuk mewakili aplikasi yang Anda instal.

Anda harus menentukan manifes pengemasan AppXManifest.xml yang menjelaskan penginstalan Anda. Paket MSIX dibuat dengan alat MakeAppXPackage. Pada waktu penginstalan, Anda menginstal paket MSIX menggunakan PACKAGE Manager API yang menentukan lokasi executable yang diinstal. Untuk kenyamanan, skrip PowerShell add-appxpackage membungkus perilaku API ini juga. Atau, AddPackageByUriAsync dapat digunakan pada waktu penginstalan untuk menginstal paket MSIX.

Untuk penginstalan aplikasi yang tidak dikemas, ada juga persyaratan manifes aplikasi berdampingan untuk executable Anda.

Lihat Gambaran umum penyebaran untuk penjelasan yang lebih mendalam tentang aplikasi yang dikemas dan tidak dikemas.

Glosarium

Istilah dan konsep berikut digunakan untuk menjelaskan berbagai komponen sistem pencahayaan sekitar.

  • Mode Otonom

    Didefinisikan dalam spesifikasi HID sebagai mode di mana perangkat keras kembali ke perilaku default seperti yang didefinisikan oleh firmware-nya. Misalnya, perangkat mungkin memiliki efek visual yang telah diprogram sebelumnya yang merupakan default ketika OS tidak secara aktif mengontrol perangkat atau jika pengguna telah memilih keluar dari keterlibatan OS untuk perangkat. Perangkat harus merespons perintah HID untuk kembali dari mode Otonom untuk memastikan interaksi yang lancar dengan harapan pengguna.

  • Aplikasi Sekitar

    Konsumen Windows.Devices.Lights API yang juga memiliki identitas paket dan mendukung ekstensi aplikasi yang diperlukan. Aplikasi sekitar menerima pemberitahuan dari AmbientLightingClient. Peristiwa menginformasikan aplikasi perangkat yang dapat mereka akses. Dengan cara ini, aplikasi dapat menunjukkan UI yang menghitung perangkat pencahayaan yang terhubung, dan menyamarkan perangkat yang saat ini tidak dapat diakses karena pengaturan kebijakan pengguna. Aplikasi Sekitar menggunakan API Windows.Devices.Lights untuk mendorong efek di seluruh perangkat yang tersedia.

  • applet Pengaturan

    Menyimpan preferensi pengguna per perangkat di HKEY_CURRENT_USER (HKCU) registri. Pengguna dapat menentukan per perangkat berdasarkan set aplikasi sekitar yang diprioritaskan untuk perangkat tertentu. Pengguna juga dapat menolak pencahayaan dinamis.

  • Identitas Aplikasi

    Konsep model aplikasi. Aplikasi yang memiliki identitas aplikasi dapat diidentifikasi oleh sistem saat runtime.

  • MSIX

    Teknologi penyebaran dan pengemasan Microsoft yang sebelumnya dikenal sebagai APPX.

Contoh

Sampel LampArray

Menunjukkan cara mengontrol pencahayaan RGB perangkat periferal menggunakan WINDOWS.Devices.Lights dan WINDOWS.Devices.Lights.Effects API.

Sampel AutoRGB

Menunjukkan cara mengekstrak satu warna representatif dari layar desktop dan menggunakannya untuk menerangi lampu LED pada perangkat RGB yang terhubung.

Baca juga