Udostępnij za pośrednictwem


Oświetlenie dynamiczne

W tym temacie opisano, jak aplikacje systemu Windows mogą zapewnić dynamiczne efekty świetlne na połączonych urządzeniach, które implementują otwarty standard dotyczącym urządzeń interfejsu użytkownika (HID)oświetlenia. W szczególności specyfikacja LampArray dla urządzeń, które mają co najmniej jedną lampę (światła, diody LED, żarówki itd.).

ważne interfejsy API

Przegląd

Dynamiczne oświetlenie umożliwia zarówno deweloperom aplikacji systemu Windows, jak i użytkownikom końcowym kontrolowanie i synchronizowanie efektów oświetlenia między zgodnymi urządzeniami peryferyjnymi i innymi połączonymi urządzeniami. Te funkcje mogą służyć do dostarczania spójnych środowisk, które bawią użytkowników, sprawiają, że są bardziej produktywni, a nawet sprawiają, że ich środowiska w systemie Windows będą bardziej dostępne.

Obsługiwane typy aplikacji i platformy

  • Win10 w wersji 1809 (październik 2018) i nowszej.
    • Dotyczy aplikacji UWP i Win32 działających na pierwszym planie.
  • Windows 11 Build 23466 (wersja zapoznawcza) i nowsze.
    • Dotyczy aplikacji platformy UWP i Win32 działających na pierwszym planie oraz w tle (w środowisku).
  • Xbox GDK marzec 2023 Update 1 i nowsze.

Obsługiwane urządzenia i typy urządzeń

  • Klawiatura lub klawiatura numeryczna
  • Mysz
  • Kontroler gry (gamepad, flightstick, kierownica itd.).
  • Urządzenia peryferyjne (urządzenia ogólne, takie jak głośniki, podkładki myszy, mikrofony, kamery internetowe itd.).
  • Scena (urządzenia sceniczne lub powierzchniowe, takie jak żarówki, reflektory, światła strobowe, billboardy, błyski aparatu itp.).
  • Powiadomienia (urządzenia przyciągające uwagę użytkownika, takie jak alarmy, asystenci głosowi itd.).
  • Obudowa (wewnętrzne składniki komputera, takie jak PAMIĘĆ RAM, płyta główna, wentylator itd.).
  • Urządzenia noszone (akcesoria, takie jak zestawy nagłowne, zegarki, opaski fitness, buty itd.).
  • Meble (takie jak krzesła, biurka, książki itp.).
  • Sztuka (taka jak obraz lub rzeźba).
  • Zestaw słuchawkowy (akcesoria przeznaczone specjalnie dla głowy, takie jak słuchawki lub mikrofony).

Aplikacja systemu Windows może kontrolować urządzenia HID LampArray, gdy aplikacja znajduje się na pierwszym planie (począwszy od systemu Windows 10) i gdy znajduje się w tle (znana również jako oświetlenie otoczenia, począwszy od systemu Windows 11).

Priorytetyzacja urządzenia

System Windows określa priorytety oświetlenia dynamicznego na podstawie stanu aplikacji. Domyślnie aplikacja pierwszego planu ma zawsze przypisaną kontrolę nad urządzeniem LampArray, chyba że użytkownik określił inaczej w Ustawieniach. W przypadkach, gdy co najmniej dwie aplikacje w tle otoczenia próbują kontrolować urządzenie LampArray, system przypisze kontrolę do aplikacji priorytetowej w ustawieniach.

Oświetlenie tła (otoczenia)

Interfejsy API "otoczenia" w Windows.Devices.Lights umożliwiają aplikacjom w tle sterowanie urządzeniami LampArray, gdy użytkownik wchodzi w interakcję z niepowiązaną aplikacją na pierwszym planie (np. aplikacjami muzycznymi, które napędzają zsynchronizowane efekty oświetlenia).

Aplikacje mogą odbierać zdarzenia LampArray.AvailabilityChanged w zależności od ustawień użytkownika. W połączeniu z klasą DeviceWatcher aplikacje mogą śledzić i zarządzać wszystkimi połączonymi/odłączonym urządzeniami LampArray i zobaczyć, które użytkownik oczekuje, że aplikacja będzie kontrolować. Pl-PL: Przykładem użycia jest interfejs użytkownika, który renderuje ikonę dla każdego połączonego urządzenia, a niedostępne zostają wyszarzone, oraz linki do strony ustawień dynamicznego oświetlenia, na której użytkownik może wprowadzić zmiany w preferencjach aplikacji na pierwszym planie/w tle.

Ustawienia użytkownika

zrzut ekranu przedstawiający ekran Ustawień oświetlenia dynamicznego.

Użytkownicy mogą dostosować swoje środowisko urządzenia LampArray (zarówno pierwszego planu, jak i tła) za pomocą ekranu ustawienia — personalizacja> —> dynamiczne oświetlenie ekranu.

  1. Po nawiązaniu połączenia zgodne urządzenia będą wyświetlane na kartach urządzeń w górnej części strony, w której użytkownicy mogą zmieniać poszczególne ustawienia urządzenia.

  2. Globalne ustawienia dynamicznego oświetlenia znajdują się poniżej kart urządzeń (zmiany tych ustawień mają wpływ na wszystkie połączone urządzenia).

    1. Przełącznik Używanie dynamicznego oświetlenia na urządzeniach umożliwia użytkownikom włączanie lub wyłączanie oświetlenia dynamicznego. Gdy oświetlenie dynamiczne jest wyłączone, urządzenia powinny działać z domyślnym zachowaniem oświetlenia niedynamicznego. Oświetlenie dynamiczne zawiera wbudowany zestaw podstawowych efektów.
    2. Aplikacje zgodne z na pierwszym planie zawsze kontrolują oświetlenie, umożliwia użytkownikom włączanie lub wyłączanie domyślnego zachowania aplikacji dynamicznego oświetlenia. Po wyłączeniu tej funkcji aplikacja w tle może kontrolować skojarzone urządzenia nawet wtedy, gdy aplikacja pierwszego planu, która chce kontrolować, jest aktywna.
    3. Sekcja kontroli światła w tle umożliwia użytkownikom nadawanie priorytetu zainstalowanym aplikacjom, które rejestrują się jako kontrolery tła ambientowego. Przeciągnięcie aplikacji na górę listy spowoduje nadanie jej priorytetu i upewnienie się, że może kontrolować urządzenia nad innymi aplikacjami na liście. Ustawienia tła otoczenia są powiązane z urządzeniem i podłączonym portem. Jeśli odłączysz urządzenie, a następnie podłącz urządzenie LampArray do innego portu (USB), będzie ono wyświetlane jako inne urządzenie.
    4. Suwak jasności pozwala użytkownikom ustawić jasność diody LED na ich urządzeniach.
    5. Lista rozwijana Efekty pozwala użytkownikom wybierać kolory i efekty dla swoich urządzeń.

    zrzut ekranu ekranu ustawień efektów dynamicznego oświetlenia.

Notatka

Jeśli urządzenie nie jest wybrane dla kontroli światła tła, działa w trybie samodzielnym.

Jest to zdefiniowane w specyfikacji HID jako tryb, w którym sprzęt powraca do domyślnego zachowania zdefiniowanego przez jego oprogramowanie układowe. Na przykład urządzenie może mieć wstępnie zaprogramowany efekt wizualny, który jest domyślny, gdy system operacyjny nie kontroluje aktywnie urządzenia lub jeśli użytkownik zrezygnował z udziału systemu operacyjnego w urządzeniu. Urządzenie musi odpowiedzieć na polecenie HID, aby powrócić z trybu autonomicznego, aby zapewnić płynną interakcję z oczekiwaniami użytkownika.

Tworzenie pakietów i tożsamość aplikacji

Aplikacje w tle otoczenia muszą zadeklarować "com.microsoft.windows.lighting" AppExtension w manifeście aplikacji (aby uzyskać więcej informacji na temat tego, jak to zrobić, zobacz Tworzenie i hostowanie rozszerzenia aplikacji). To wymaganie jest wymuszane przez środowisko AmbientLightingServer, które akceptuje tylko połączenia z elementu AmbientLightingClient w procesie z obsługą tożsamości pakietu (spakowanej aplikacji) obsługującej rozszerzenie. To wymaganie jest niezbędne, aby umożliwić użytkownikowi zdefiniowanie zasad dla zainstalowanych aplikacji, a następnie skorelowanie tych zasad w czasie wykonywania.

Tożsamość aplikacji jest wymagana dla aplikacji ambientowych, tak aby preferencje użytkownika można było określić w czasie działania aplikacji. Po zainstalowaniu aplikacji, jeśli używa ona interfejsów API dotyczących otoczenia, system musi skorelować uruchomione wystąpienie aplikacji z preferencjami użytkownika. Ponadto umożliwienie użytkownikowi dostępu do aplikacji w ustawieniach wymaga elementu po instalacji, który wskazuje systemowi, że aplikacja jest prawomocnym użytkownikiem interfejsów API oświetlenia otoczenia.

To wymaganie dotyczące tożsamości jest realizowane poprzez pakowanie MSIX (technologia wdrażania i pakowania firmy Microsoft wcześniej znana jako APPX).

Jeśli już używasz pakietu MSIX do pakowania i instalacji, nie ma dalszych wymagań.

Jeśli masz nieopakowaną aplikację, konieczne są dodatkowe kroki, aby uzyskać tożsamość aplikacji. Możesz przeprowadzić migrację instalacji do pełnej wersji MSIX lub użyć uproszczonej sparse Packaging and External Location funkcji MSIX. Rzadkie pakietowanie ze zewnętrzną lokalizacją zostało zaprojektowane tak, aby umożliwić istniejącym instalacjom aplikacji uzyskanie korzyści z tożsamości aplikacji bez konieczności pełnej konwersji instalacji na format MSIX. Jest to nowy krok w konfiguracji/instalacji, który używa narzędzi do utworzenia pakietu MSIX reprezentującego instalowaną aplikację.

Należy zdefiniować manifest pakowania AppXManifest.xml opisujący instalację. Pakiet MSIX jest tworzony za pomocą narzędzia MakeAppXPackage. Podczas instalacji pakiet MSIX jest instalowany przy użyciu interfejsu API menedżera pakietów, który określa lokalizację zainstalowanego pliku wykonywalnego. Dla wygody skrypt programu PowerShell add-appxpackage opakowuje również to zachowanie interfejsu API. Alternatywnie AddPackageByUriAsync można użyć podczas instalacji w celu zainstalowania pakietu MSIX.

W przypadku instalacji aplikacji rozpakowanych istnieje również manifest aplikacji side-by-side wymagania dotyczące pliku wykonywalnego.

Zobacz omówienie wdrażania , aby uzyskać bardziej szczegółowe wyjaśnienie spakowanych i rozpakowanych aplikacji.

Przykłady

przykładowe LampArray

Przedstawia sposób sterowania oświetleniem RGB urządzeń peryferyjnych za pomocą interfejsów API Windows.Devices.Lights i Windows.Devices.Lights.Effects.

AutoRGB przykładowe

Pokazuje, jak wyodrębnić jeden, reprezentatywny kolor z ekranu stacjonarnego i używać go do oświetlenia lamp LED na podłączonym urządzeniu RGB.

Zobacz też