Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento descrive come le app Windows possano fornire effetti di illuminazione dinamica tra i dispositivi connessi che implementano lo standard aperto Human Interface Devices (HID)Lighting and Illumination standard. In particolare, la specifica LampArray per i dispositivi con una o più lampade (luci, LED, lampadine e così via).
- APIimportanti:Windows. Devices.Lights
Note
La classe Lamp non si applica alla funzionalità HID LampArray e non è rilevante per questo argomento.
Overview
L'illuminazione dinamica consente sia agli sviluppatori di app Windows che agli utenti finali di controllare e sincronizzare gli effetti di illuminazione tra periferiche compatibili e altri dispositivi connessi. Queste funzionalità possono essere usate per offrire esperienze coese che intrattenono gli utenti, renderle più produttive e persino rendere più accessibili le loro esperienze in Windows.
Piattaforme e tipi di app supportati
- Win10 versione 1809 (ottobre 2018) e versioni successive.
- Si applica alle app UWP e Win32 in primo piano.
- Windows 11 Build 23466 (anteprima) e versioni successive.
- Si applica alle app UWP e Win32 in esecuzione in primo piano e in background (in modalità ambiente).
- Xbox GDK Marzo 2023 Update 1 e versioni successive.
Dispositivi e tipi di dispositivo supportati
- Tastiera o tastierino
- Mouse
- Game controller (gamepad, cloche, volante e così via).
- Periferica (dispositivi generali come altoparlanti, tastieri del mouse, microfoni, webcam e così via).
- Scena (dispositivi per ambienti/palcoscenici/aree come lampadine, riflettori, luci stroboscopiche, pannelli luminosi, flash fotografici e così via).
- Notifica (dispositivi di attenzione dell'utente, ad esempio allarmi, assistenti vocali e così via).
- Chassis (componenti interni del PC, ad esempio RAM, scheda madre, ventola e così via).
- Indossabile (accessori come cuffie, orologi, tracker di fitness, scarpe e così via).
- Mobili (come sedie, scrivanie, librerie e così via).
- Arte (come un dipinto o una scultura).
- Auricolare (accessori progettati appositamente per la testa, ad esempio cuffie o microfoni).
Un'app Windows può controllare i dispositivi HID LampArray quando l'app è in primo piano (a partire da Windows 10) e quando è in background (nota anche come illuminazione ambiente, a partire da Windows 11).
Definizione delle priorità dei dispositivi
Windows assegna priorità all'illuminazione dinamica in base allo stato dell'app. Per impostazione predefinita, a un'app in primo piano viene sempre assegnato il controllo di un dispositivo LampArray, a meno che l'utente non abbia specificato diversamente in Impostazioni. Nei casi in cui due o più app in background di ambiente tentano di controllare un dispositivo LampArray, il sistema assegnerà il controllo all'app in ordine di priorità in Impostazioni.
Illuminazione di sfondo (ambiente)
API "ambient" in Windows. Devices.Lights abilitare le applicazioni in background per controllare i dispositivi LampArray mentre l'utente interagisce con un'app non correlata in primo piano (ad esempio le app musicali che determinano effetti di illuminazione sincronizzati).
Le app possono ricevere eventi LampArray.AvailabilityChanged , a seconda delle impostazioni utente. In combinazione con la classe DeviceWatcher , le app possono tenere traccia e gestire tutti i dispositivi LampArray connessi/disconnessi e vedere quale utente si aspetta che l'app controlli. Un esempio di utilizzo è un'interfaccia utente che visualizza un'icona per ogni dispositivo connesso, con quelli non disponibili visualizzati in grigio, e collegamenti alla pagina delle impostazioni Illuminazione dinamica, in cui l'utente può modificare le preferenze per le app in primo piano e in background.
Impostazioni utente
Gli utenti possono personalizzare l'esperienza del dispositivo LampArray (in primo piano e in background) tramite la schermata Impostazioni -> Personalizzazione -> Illuminazione dinamica .
Quando si è connessi, i dispositivi compatibili verranno visualizzati nelle schede del dispositivo nella parte superiore della pagina in cui gli utenti possono modificare le impostazioni dei singoli dispositivi.
Le impostazioni globali di Illuminazione dinamica si trovano sotto le schede del dispositivo (le modifiche apportate a queste impostazioni influiscono su tutti i dispositivi connessi).
- L'interruttore Usa illuminazione dinamica nei dispositivi consente agli utenti di attivare o disattivare l'illuminazione dinamica. Quando l'illuminazione dinamica è disattivata, i dispositivi devono funzionare con il comportamento predefinito di illuminazione non dinamica. L'illuminazione dinamica include un set predefinito di effetti di base.
- Le app compatibili in primo piano controllano sempre l'illuminazione consente agli utenti di attivare o disattivare il comportamento predefinito dell'app Illuminazione dinamica. Quando questa funzionalità è disattivata, un'app in background può controllare i dispositivi associati anche quando un'app in primo piano che vuole il controllo è attiva.
- La sezione Controllo luce in background consente agli utenti di classificare in ordine di priorità le app installate che si sono registrate come controller di sfondo di ambiente. Trascinando un'app all'inizio dell'elenco, le darai priorità e ti assicurerai che possa controllare i dispositivi prima delle altre app nell'elenco. Le impostazioni di sfondo dell'ambiente sono associate a un dispositivo e alla porta su cui è connesso. Se si scollega e si ricollega LampArray a una porta (USB) diversa, apparirà come un dispositivo diverso.
- Il dispositivo di scorrimento Luminosità consente agli utenti di impostare la luminosità del LED sui propri dispositivi.
- L'elenco a discesa Effetti consente agli utenti di selezionare colori ed effetti per i propri dispositivi.
Note
Quando un dispositivo non è selezionato per il controllo luce in background, funziona in modalità autonoma.
Questo comportamento viene definito nella specifica HID come modalità in cui l'hardware esegue il fallback al comportamento predefinito definito dal firmware. Ad esempio, un dispositivo potrebbe avere un effetto visivo preprogrammato che rappresenta l'impostazione predefinita quando il sistema operativo non controlla attivamente il dispositivo o se l'utente ha rifiutato esplicitamente il coinvolgimento del sistema operativo per il dispositivo. Il dispositivo deve rispondere al comando HID per tornare dalla modalità autonoma per garantire un'interazione uniforme con le aspettative dell'utente.
Creazione di pacchetti e identità dell'app
Le applicazioni in background di ambiente devono dichiarare l'app AppExtension "com.microsoft.windows.lighting" nel manifesto dell'app (per altre informazioni su come eseguire questa operazione, vedere Creare e ospitare un'estensione dell'app). Questo requisito è imposto da AmbientLightingServer, che accetta connessioni solo da un AmbientLightingClient all’interno di un processo con identità di pacchetto (app con pacchetto) che supporta l’estensione. Questo requisito è necessario per consentire all'utente di definire i criteri per le app installate e di correlare tale criterio in fase di esecuzione.
L'identità dell'app è necessaria per le applicazioni di ambiente in modo che le preferenze utente possano essere determinate in fase di esecuzione. Una volta installata un'applicazione, se usa le API di ambiente, il sistema deve correlare l'istanza in esecuzione di un'app con le preferenze dell'utente. Inoltre, rendere l'app disponibile all'utente nelle impostazioni richiede un artefatto post-installazione che indica al sistema che l'app è un utente legittimo delle API di illuminazione ambientale.
Questo requisito di identità viene raggiunto tramite MSIX packaging (una tecnologia di distribuzione e creazione di pacchetti Microsoft precedentemente nota come APPX).
Se si utilizza già MSIX per la creazione e l'installazione dei pacchetti, non ci sono ulteriori requisiti.
Se si dispone di un'app non in pacchetto, sono necessari passaggi aggiuntivi per ottenere l'identità dell'applicazione. È possibile eseguire la migrazione dell'installazione a MSIX completo oppure è possibile usare la funzionalità semplificata Di creazione di pacchetti sparse e posizione esterna di MSIX. La creazione di pacchetti sparse con percorso esterno è stata progettata per consentire alle installazioni di app esistenti di beneficiare dell’identità dell’app senza richiedere una conversione completa del programma di installazione in MSIX. Si tratta di un nuovo passaggio dell'installazione/installazione che usa gli strumenti per creare un pacchetto MSIX per rappresentare l'app che si sta installando.
È necessario definire un manifesto di creazione di pacchettiAppXManifest.xml che descrive l'installazione. Il pacchetto MSIX viene creato con lo strumento MakeAppXPackage. Al momento dell'installazione, si installa il pacchetto MSIX usando un'API Gestione pacchetti che specifica il percorso del file eseguibile installato. Per praticità, lo script di PowerShell add-appxpackage esegue anche il wrapping di questo comportamento dell'API. In alternativa, AddPackageByUriAsync può essere usato al momento dell'installazione per installare il pacchetto MSIX.
Per le installazioni di app non in pacchetto, esiste anche un requisito del manifesto dell'applicazione side-by-side per il file eseguibile.
Per una spiegazione più approfondita delle app con pacchetto e senza pacchetto, vedere Panoramica della distribuzione.
Esempi
Viene illustrato come controllare l'illuminazione RGB dei dispositivi periferici usando il Windows. Devices.Lights e Windows. API Devices.Lights.Effects.
Illustra come estrarre un singolo colore rappresentativo da uno schermo desktop e usarlo per illuminare le lampade LED su un dispositivo RGB connesso.