Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma popisuje, jak mohou vaše aplikace pro Windows poskytovat dynamické světelné efekty napříč připojenými zařízeními, která implementují otevřený standard Zařízení uživatelského rozhraní (HID)pro osvětlení a iluminaci. Konkrétně specifikace LampArray pro zařízení, která mají jednu nebo více lamp (světla, LED diody, žárovky atd.).
- Důležitá rozhraní API:Windows.Devices.Lights
Přehled
Dynamické osvětlení umožňuje Windows vývojářům aplikací i koncovým uživatelům ovládat a synchronizovat efekty osvětlení mezi kompatibilními periferními zařízeními a dalšími připojenými zařízeními. Tyto funkce lze použít k vytváření ucelených prostředí, která uživatele baví, zvyšují jejich produktivitu a dokonce zpřístupňují jejich prostředí v rámci systému Windows.
Podporované typy aplikací a platformy
- Win10 verze 1809 (říjen 2018) a novější.
- Platí pro aplikace UWP a Win32 spuštěné v popředí.
- Windows 11 build 23466 (Preview) a novější.
- Platí pro aplikace UWP a Win32 běžící na popředí i na pozadí.
- Xbox GDK z března 2023 Update 1 a novější verze.
- Podívejte se na API pro osvětlení v nástroji Game Development Kit (GDK).
Podporovaná zařízení a typy zařízení
- Klávesnice nebo numerická klávesnice
- Mouse
- Herní ovladač (gamepad, flightstick, volant atd.).
- Periferní zařízení (obecná zařízení, jako jsou reproduktory, podložky myši, mikrofony, webové kamery atd.).
- Scéna (zařízení v místnosti/na pódiu/v prostoru, jako jsou žárovky, reflektory, stroboskopy, světelné panely, blesky fotoaparátů atd.).
- Oznámení (zařízení pro pozornost uživatelů, jako jsou alarmy, hlasové asistenty atd.).
- Skříň (interní počítačové komponenty, jako je RAM, základní deska, ventilátor atd.).
- Wearable (příslušenství, jako jsou náhlavní soupravy, hodinky, fitness trackery, boty atd.).
- Nábytek (jako jsou židle, psací stoly, knihovny a tak dále).
- Umění (například malba nebo socha).
- Náhlavní souprava (příslušenství navržené speciálně pro hlavu, například sluchátka nebo mikrofony).
Aplikace pro Windows může ovládat zařízení HID LampArray, když je v popředí (od Windows 10) a když běží na pozadí (také označované jako okolní osvětlení, od Windows 11).
Stanovení priority zařízení
Windows upřednostňuje dynamické osvětlení na základě stavu aplikace. Ve výchozím nastavení je aplikace na popředí vždy přiřazena řízení zařízení LampArray, pokud uživatel nezadá jinak v Nastavení. V případech, kdy se dvě nebo více aplikací na pozadí okolí pokouší ovládat zařízení LampArray, systém přiřadí řízení aplikaci s prioritou v Nastavení.
Osvětlení pozadí (okolí)
„Ambientní“ rozhraní API v Windows.Devices.Lights umožňují aplikacím na pozadí ovládat zařízení LampArray, zatímco uživatel pracuje s jinou nesouvisející aplikací v popředí (například hudební aplikace, které řídí synchronizované světelné efekty).
Aplikace můžou přijímat události LampArray.AvailabilityChanged v závislosti na uživatelském nastavení. Ve spojení s třídou DeviceWatcher můžou aplikace sledovat a spravovat všechna připojená/odpojená zařízení LampArray a zjistit, který uživatel očekává, že aplikace bude řídit. Jedním z příkladů použití je uživatelské rozhraní, které zobrazuje ikonu pro každé připojené zařízení, přičemž nedostupná zařízení jsou zobrazena šedě, a odkazuje na stránku nastavení Dynamické osvětlení, kde může uživatel měnit předvolby pro aplikace na popředí a na pozadí.
Uživatelská nastavení
Uživatelé si můžou přizpůsobit své prostředí zařízení LampArray (popředí i pozadí) prostřednictvím obrazovky Nastavení –> Přizpůsobení –> Dynamické osvětlení .
Po připojení se kompatibilní zařízení zobrazí na kartách zařízení v horní části stránky, kde můžou uživatelé měnit jednotlivá nastavení zařízení.
Globální nastavení dynamického osvětlení se nachází pod kartami zařízení (změny těchto nastavení ovlivňují všechna připojená zařízení).
- Přepínač Použít dynamické osvětlení na mých zařízeních umožňuje uživatelům zapnout nebo vypnout dynamické osvětlení. Když je funkce Dynamic Lighting vypnuta, zařízení by měla fungovat podle svého výchozího chování bez funkce Dynamic Lighting. Dynamické osvětlení zahrnuje integrovanou sadu základních efektů.
- Kompatibilní aplikace v popředí vždy řídí osvětlení umožňuje uživatelům zapnout nebo vypnout výchozí chování aplikace Dynamické osvětlení. Když je tato funkce vypnutá, může aplikace na pozadí řídit svá přidružená zařízení i v případě, že je aktivní aplikace na popředí, která chce ovládací prvek aktivovat.
- Část Řízení světla na pozadí umožňuje uživatelům určit prioritu nainstalovaných aplikací, které se zaregistrovaly jako řadiče okolního pozadí. Přetažením aplikace na horní část seznamu jí nastavíte prioritu a zajistíte, že bude moci ovládat zařízení před ostatními aplikacemi v seznamu. Nastavení okolního pozadí jsou svázaná se zařízením a portem, na který je připojený. Pokud odpojíte lamparray a pak připojíte k jinému portu (USB), zobrazí se jako jiné zařízení.
- Posuvník Jas umožňuje uživatelům nastavit jas LED na svých zařízeních.
- Rozevírací seznam Efekty umožňuje uživatelům vybrat barvy a efekty pro svá zařízení.
Note
Pokud zařízení není vybráno pro řízení světla na pozadí, funguje v autonomním režimu.
Toto je definováno v specifikaci HID jako režim, ve kterém se hardware vrátí k výchozímu chování definovanému jeho firmwarem. Zařízení může mít například předprogramovaný vizuální efekt, který je výchozí, když operační systém aktivně nekontroluje zařízení nebo pokud se uživatel odhlásil ze zapojení operačního systému zařízení. Zařízení musí reagovat na příkaz HID, aby se vrátilo z autonomního režimu, aby bylo zajištěno hladké interakce s očekáváními uživatelů.
Zabalení a identita aplikace
Aplikace okolního pozadí musí deklarovat "com.microsoft.windows.lighting" AppExtension v manifestu aplikace (další podrobnosti o tom, jak to udělat, viz Vytvoření a hostování rozšíření aplikace). Tento požadavek je vynucován serverem AmbientLightingServer, který přijímá pouze připojení od klienta AmbientLightingClient v procesu s identitou balíčku (balíčkovaná aplikace), jenž podporuje toto rozšíření. Tento požadavek je nezbytný k tomu, aby uživatel mohl definovat zásady pro nainstalované aplikace a následně tyto zásady korelovat za běhu.
Identita aplikace je vyžadována pro okolní aplikace, aby bylo možné určit uživatelské předvolby za běhu. Jakmile je aplikace nainstalovaná, pokud používá okolní rozhraní API, musí systém korelovat spuštěnou instanci aplikace s předvolbami uživatele. Kromě toho zpřístupnění aplikace uživateli v nastavení vyžaduje artefakt po instalaci, který označuje systém, že vaše aplikace je legitimním uživatelem rozhraní API okolního osvětlení.
Tento požadavek na identitu je splněn prostřednictvím balíčkování MSIX (technologie společnosti Microsoft pro nasazení a balíčkování, dříve známé jako APPX).
Pokud už pro balení a instalaci používáte balíček MSIX, neexistují žádné další požadavky.
Pokud máte rozbalenou aplikaci, je potřeba provést další kroky k získání identity aplikace. Buď můžete migrovat svou instalaci do plného formátu MSIX, nebo můžete použít zjednodušenou funkci Sparse Packaging and External Location v MSIX. Technologie Sparse Packaging s externím umístěním byla navržena tak, aby stávající instalace aplikací mohly využívat výhody identity aplikace, aniž by bylo nutné plně převádět instalační program nebo instalaci do formátu MSIX. Jedná se o nový krok v nastavení nebo instalaci, který pomocí nástrojů vytvoří balíček MSIX, který představuje aplikaci, kterou instalujete.
Musíte definovat manifest balíčkuAppXManifest.xml , který popisuje vaši instalaci. Balíček MSIX se vytvoří pomocí nástroje MakeAppXPackage. V době instalace nainstalujete balíček MSIX pomocí rozhraní API Správce balíčků, které určuje umístění nainstalovaného spustitelného souboru. Pro usnadnění i skript PowerShell add-appxpackage zapouzdřuje toto chování rozhraní API. Alternativně můžete addPackageByUriAsync použít při instalaci k instalaci balíčku MSIX.
U rozbalených instalací aplikací existuje také požadavek na manifest aplikace vedle sebe pro váš spustitelný soubor.
Podrobnější vysvětlení zabalených a rozbalených aplikací najdete v přehledu nasazení .
Examples
ukázka LampArray
Ukazuje, jak ovládat osvětlení RGB periferních zařízení pomocí Windows. Devices.Lights a Windows. Devices.Lights.Effects API.
Demonstruje, jak extrahovat jednu reprezentativní barvu z plochy obrazovky a použít ji k osvětlení LED lamp na připojeném RGB zařízení.
Viz také
Windows developer