Elementi multimediali

Sviluppare un'app per aiutare gli utenti a creare e riprodurre fantastiche esperienze multimediali. È così più facile adesso in Windows 8.1, con le nuove proprietà per acquisire contenuti multimediali in ambienti diversi, un metodo semplice per aggiungere controlli di riproduzione alle app che usano XAML (Extensible Application Markup Language) e il supporto nativo di MSE (Media Source Extensions) per la riproduzione dei contenuti HTML5.

Funzionalità aggiornate in Windows 8.1

Aggiornamenti delle funzionalità di elaborazione video

[Accedi all'esempio di hub multimediale e MediaStreamSource ora.]

Windows 8.1 introduce alcuni nuovi aggiornamenti e il supporto per formati, codec ed elaborazione video.

Supporto del formato CFF

Microsoft Media Foundation ha aggiunto il supporto del formato CFF (Common File Format) nelle implementazioni MP4/fMP4. CFF è un formato per contenitori audio/video basato sul formato ISO Base Media File.

Nuova modalità XVP

Per il processore XVP (Transcode Video Processor) di Media Foundation è stata aggiunta la modalità MrfCrf444, eseguita sempre nel software senza usare l'accelerazione hardware DXVA (DirectX Video Acceleration). In questo modo si garantiscono risultati coerenti in piattaforme diverse, indipendentemente dall'hardware sottostante. Dato che l'esecuzione della modalità MrfCrf444 avviene interamente nel software, l'operazione di transcodifica può richiedere più tempo ed energia. Questa nuova modalità impone l'utilizzo di filtri più grandi, usa la precisione completa per la conversione dei colori, preferisce formati di colore di più alta qualità e rende disponibile un deinterlacciatore di qualità elevata.

Puoi usare questa modalità nella tua app impostando MediaTrancoder.VideoProcessingAlgorithm su MediaVideoProcessingAlgorithm.mrfCrf444.

Non sono attualmente disponibili esempi di codice o questo linguaggio potrebbe non essere supportato.

Supporto della gamma estesa YUV in Media Foundation

In Windows 8, l'impostazione predefinita per la pipeline Media Foundation è la gamma YUV di valori swing studio [Y: 16-235] e non viene offerta la possibilità di segnalare se per l'input è usata la gamma YUV estesa [Y: 0-255]. La pipeline Media Foundation prevede ora la possibilità di segnalare la gamma estesa all'hardware dell'unità di elaborazione grafica (GPU). In questo modo l'intera pipeline Media Foundation, incluso il decodificatore MJPEG, può riconoscere la gamma estesa.

Per specificare la gamma YUV estesa o studio per il contenuto, si usa l'attributo MF_MT_VIDEO_NOMINAL_RANGE.

MSS (Media Stream Source)

Windows 8.1 introduce una nuova origine multimediale generica per le app di Windows Store chiamata Media Stream Source (MSS). Le API per questa tecnologia si trovano nello spazio dei nomi Windows.Media.Core e la classe principale dell'origine multimediale è MediaStreamSource. MSS consente alle app di inviare campioni audio e video compressi e non compressi alla pipeline multimediale per la riproduzione, la transcodifica e lo streaming. I campioni multimediali possono essere generati in modo dinamico dall'app oppure ricavati tramite demultiplexing da un flusso o da file. Grazie a questa flessibilità le app possono estendere più facilmente il supporto della piattaforma per nuovi formati multimediali o risolvere problemi complessi, come il flusso adattivo o l'implementazione di un'origine multimediale personalizzata nel codice gestito.

L'API MediaStreamSource è molto simile alle API Microsoft Silverlight con lo stesso nome. Gli sviluppatori che hanno familiarità con le versioni Silverlight di queste API possono quindi applicare molte delle loro conoscenze per realizzare app per Windows Store con MSS.

È possibile usare MSS con oggetti audio e video in app di Windows Store scritte con JavaScript, oggetti MediaElement in app di Windows Store scritte con C++, C# o Visual Basic e MediaTranscoder.

Ecco alcune delle principali API MSS. L'ordine rispecchia il flusso di base del funzionamento di MSS. Noterai che MediaStreamSource invia oggetti richiesta all'app tramite argomenti di evento. Questi oggetti richiesta consentono all'app di interagire con MediaStreamSource e passare i dati.

APIDescrizione
MediaStreamSource Rappresenta un'origine multimediale che fornisce campioni multimediali direttamente alla pipeline multimediale. MediaStreamSource usa oggetti MediaStreamSample forniti dall'app.
MediaStreamSample Rappresenta un campione multimediale usato da MediaStreamSource.
MediaStreamSource.Starting (evento)

MediaStreamSource usa questo evento per segnalare all'app che l'origine è pronta per iniziare l'elaborazione dei dati multimediali.

MediaStreamSourceStartingRequest

Rappresenta una richiesta dell'API MediaStreamSource che indica che è pronta per iniziare a elaborare i dati multimediali.

Le app dovrebbero rispondere il prima possibile a questa richiesta chiamando SetActualStartPosition. Se un'app deve ritardare l'elaborazione dei dati da parte dell'API MediaStreamSource, può ottenere un differimento asincrono chiamando MediaStreamSourceStartingRequest.GetDeferral. Quando l'app è pronta per l'avvio delle operazioni di MediaStreamSource, può chiamare Complete sull'oggetto di differimento.

L'accesso alla richiesta di avvio avviene tramite gli argomenti MediaStreamSourceStartingEventArgs passati al gestore dell'evento MediaStreamSource.Starting.

MediaStreamSource.SampleRequested (evento)

MediaStreamSource usa questo evento per segnalare all'app che è pronta per un MediaStreamSample.

Le app devono registrare un gestore per questo evento.

MediaStreamSourceSampleRequest

Rappresenta una richiesta da MediaStreamSource per un nuovo campione multimediale. L'impostazione della proprietà Sample sul nuovo MediaStreamSample attiva MediaStreamSource per recuperare il campione multimediale e continuare con l'elaborazione dei dati multimediali.

Le app dovrebbero rispondere il prima possibile a questa richiesta. Se un'app ha bisogno di tempo prima di inviare l'API MediaStreamSample, può ottenere un differimento asincrono chiamando MediaStreamSourceSampleRequest.GetDeferral. Al termine, l'app può chiamare Complete sull'oggetto di differimento.

L'accesso alla richiesta del campione avviene tramite gli argomenti MediaStreamSourceSampleRequestedEventArgs passati al gestore dell'evento MediaStreamSource.SampleRequest.

L'app indica il raggiungimento della fine del flusso rispondendo a una MediaStreamSourceSampleRequest senza fornire un MediaStreamSample o tramite l'assegnazione della proprietà MediaStreamSourceSampleRequest.Sample a null.

MediaStreamSource.Closed (evento)

MediaStreamSource usa questo evento per segnalare la chiusura all'app.

MediaStreamSourceClosedRequest

Rappresenta una richiesta dell'API MediaStreamSource per indicare che è stata chiusa.

L'accesso alla richiesta di chiusura avviene tramite gli argomenti MediaStreamSourceClosedEventArgs passati al gestore dell'evento MediaStreamSource.Closed.

MediaElement.SetMediaStreamSource Imposta l'origine di MediaElement su MediaStreamSource.

 

Per un esempio dettagliato dell'uso di MSS, vedi l'esempio MediaStreamSource.

Aggiornamenti delle funzionalità di acquisizione audio e video

[Accedi agli esempi di acquisizione di elementi multimediali e di individuazione degli effetti audio ora.]

Windows 8.1 introduce vari aggiornamenti delle funzionalità di acquisizione audio e video.

Modalità sequenza foto

Questa modalità acquisisce una sequenza continua di foto. Puoi configurare questa modalità usando la classe LowLagPhotoSequenceControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Usa la proprietà LowLagPhotoSequenceControl.Supported per scoprire se un dispositivo supporta la modalità sequenza foto.

Uno degli scenari principali per l'uso della modalità sequenza foto è il recupero di foto nel passato, ovvero prima che l'utente scatti una foto. Puoi usare PhotoCapturedEventArgs.CaptureTimeOffset per indicare se un fotogramma appartiene al futuro o al passato. Un valore maggiore di 0 indica il futuro e un valore minore di 0 il passato.

Per inizializzare questa modalità, chiama MediaCapture.PrepareLowLagPhotoSequenceCaptureAsync. Per iniziare l'acquisizione delle foto, chiama StartAsync. L'app continuerà a ricevere foto dal dispositivo fino all'interruzione dell'operazione. Per interrompere l'acquisizione di foto, chiama StopAsync.

Se la tua app vuole impostare il numero di fotogrammi ricevuti al secondo, può usare LowLagPhotoSequence.PhotosPerSecondLimit. Ciò può essere utile nei casi in cui il sensore nel dispositivo può gestire 30 fotogrammi al secondo (fps), ma all'app servono solo 4 fps.

Supporto delle anteprime

Le anteprime sono supportate per singole foto e per operazioni su sequenze di foto tramite le classi LowLagPhotoControl e LowLagPhotoSequenceControl accessibili con la proprietà MediaCapture.VideoDeviceController.

Per abilitare le anteprime, imposta la proprietà ThumbnailEnabled su true. Puoi impostare le dimensioni che preferisci per le anteprime usando DesiredThumbnailSize e impostare il formato con ThumbnailFormat.

Modalità scena

La modalità scena regola in modo ottimale la post-elaborazione dei fotogrammi acquisiti per la scena in corso di registrazione. Puoi configurare questa modalità con SceneModeControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

La proprietà SupportedModes indica quali modalità scena sono supportate da un dispositivo (ad esempio Snow, Night e Sport). Per selezionare una modalità, chiama SceneModeControl.SetValueAsync.

Modalità torcia

La modalità torcia usa il LED della torcia di un dispositivo. Puoi configurare questa modalità con TorchControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Per scoprire se un dispositivo supporta questo controllo, puoi controllare la proprietà TorchControl.Supported. Se il controllo è supportato, puoi usare la modalità torcia nelle app di acquisizione, o di altro tipo, per eseguire operazioni come illuminare una stanza.

Modalità flash

La modalità flash usa il flash in un dispositivo. Puoi configurare questa modalità usando FlashControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Per scoprire se un dispositivo supporta questo controllo, puoi controllare la proprietà FlashControl.Supported. Se il controllo è supportato, puoi usare la modalità flash in un'app per foto per gestire condizioni di luce scarsa o per RedEyeReduction.

Bilanciamento del bianco

Con il bilanciamento del bianco la tua app ottiene un maggiore controllo delle impostazioni di bilanciamento del bianco in un dispositivo. Puoi configurare questi livelli con WhiteBalanceControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Per scoprire se un dispositivo supporta questo controllo, puoi controllare la proprietà WhiteBalanceControl.Supported. Se il controllo è supportato, puoi usare uno dei valori ColorTemperaturePreset chiamando SetPresetAsync. In alternativa, puoi chiamare SetValueAsync per impostare uno specifico Value tra Min e Max.

Modalità esposizione

La modalità esposizione offre alla tua app un maggiore controllo sulle impostazioni di esposizione di un dispositivo. Puoi configurare questa modalità con ExposureControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Per scoprire se un dispositivo supporta questo controllo, puoi controllare la proprietà ExposureControl.Supported. Se il controllo è supportato, la tua app può impostare i valori di esposizione chiamando SetValueAsync. Per attivare l'esposizione automatica, chiama SetAutoAsync.

Modalità compensazione dell'esposizione

Con la modalità compensazione dell'esposizione la tua app ottiene il controllo sui livelli dell'esposizione delle foto scattate. Puoi configurare questa modalità con ExposureCompensationControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Per scoprire se un dispositivo supporta questo controllo, puoi controllare la proprietà ExposureCompensationControl.Supported. Se il controllo è supportato, la tua app può impostare i valori di esposizione chiamando SetValueAsync.

Modalità messa a fuoco

La modalità messa a fuoco offre alla tua app un maggiore controllo sulle impostazioni di messa a fuoco di un dispositivo. Puoi configurare questa modalità con FocusControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Per scoprire se un dispositivo supporta questo controllo, puoi controllare la proprietà FocusControl.Supported. Se il controllo è supportato, puoi usare uno dei valori FocusPreset chiamando SetPresetAsync. Oppure chiama SetValueAsync per impostare uno specifico Value tra Min e Max.

Modalità ISO

La modalità ISO consente alla tua app di gestire le impostazioni della velocità ISO in un dispositivo. In condizioni di luce scarsa potresti preferire un livello di disturbo maggiore in cambio di una maggiore luminosità complessiva. Il controllo della velocità ISO consente alla tua app di trovare il giusto compromesso. Puoi configurare questa modalità con IsoSpeedControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Per scoprire se un dispositivo supporta questo controllo, puoi controllare la proprietà IsoSpeedControl.Supported. Se il controllo è supportato, usa SetPresetAsync per impostare il livello ISO su uno dei valori IsoSpeedPreset. SupportedPresets elenca i valori preimpostati supportati dal dispositivo.

Area di interesse

Con questa impostazione la tua app può specificare il valore RegionOfInterest in un'anteprima. Puoi configurare questa impostazione con RegionsOfInterestControl, accessibile tramite la proprietà MediaCapture.VideoDeviceController.

Usa questa impostazione per specificare l'area dell'anteprima per la quale vuoi calcolare elementi come la messa a fuoco e i livelli di esposizione. L'area di interesse rende possibili scenari come la messa a fuoco tramite tocco.

Campo visivo

Il campo visivo permette all'app di calcolare il campo visivo e l'angolazione della fotocamera con le impostazioni MediaCaptureSettings.PitchOffsetDegrees, MediaCaptureSettings.Horizontal35mmEquivalentFocalLength e MediaCaptureSettings.Vertical35mmEquivalentFocalLength.

Acquisire foto durante la registrazione di video

Un'app può controllare le impostazioni MediaCaptureSettings.ConcurrentRecordAndPhotoSupported per scoprire se il dispositivo permette l'acquisizione di una foto durante la registrazione di un video.

Stabilire se la fotocamera deve emettere un segnale acustico

L'impostazione MediaCaptureSettings.CameraSoundRequiredForRegion indica se il sistema operativo deve emettere un segnale acustico quanto la fotocamera scatta una foto. Un'app può usare queste informazioni per decidere se deve essere riprodotto un suono.

Ottimizzazione del dispositivo di acquisizione

La proprietà VideoDeviceController.PrimaryUse indica se il dispositivo di acquisizione viene utilizzato principalmente per foto o video. Ciò consente al sistema di ottimizzare le prestazioni e la qualità.

Registrare flussi AVI e WAV non compressi

Un'app può registrare il flusso audio non compresso dal microfono impostando MediaCaptureInitializationSettings.AudioProcessing su Raw.

Individuazione degli effetti audio

Un'app può individuare la catena di elaborazione audio su un endpoint. Usando queste informazioni puoi configurare l'elaborazione audio effettuata nell'app. Lo spazio dei nomi Windows.Media.Effects contiene le classi AudioEffect, AudioCaptureEffectsManager, AudioEffectsManager e AudioRenderEffectsManager.

Per creare un oggetto AudioCaptureEffectsManager, chiama AudioEffectsManager.CreateAudioCaptureEffectsManager. Per creare un oggetto AudioRenderEffectsManager, chiama AudioEffectsManager.CreateAudioRenderEffectsManager.

Aggiornamenti del controllo MediaElement XAML

[Accedi all'esempio di riproduzione di elementi multimediali XAML ora.]

Il controllo MediaElement è stato esteso per supportare controlli di trasporto incorporati e il rendering a finestra intera.

La proprietà MediaElement.AreTransportControlsEnabled abilita o disabilita i controlli di trasporto incorporati, in modo che non sia più necessario predisporre i pulsanti per eseguire operazioni come la riproduzione, l'arresto, la sospensione o la pulitura. Questa API funziona come la proprietà controls negli elementi HTML5 video e audio.

La proprietà MediaElement.IsFullWindow abilita o disabilita il rendering a finestra intera.

Ecco alcuni esempi di codice che mostrano come abilitare i controlli di trasporto incorporati.



<MediaElement Name="media" 
              Source="testVideo.mp4" 
              AreTransportControlsEnabled="True" />


MediaElement media = new MediaElement();
media.AreTransportControlsEnabled = true;

Ed ecco alcuni esempi di codice che mostrano come abilitare il rendering di video a finestra intera.


<MediaElement Name="media"
              Source="testVideo.mp4" 
              IsFullWindow="True" />


MediaElement media = new MediaElement();
media.IsFullWindow = true;

Riproduzione video e audio HTML5

[Accedi all'esempio di riproduzione di elementi multimediali HTML ora.]

Windows 8.1 introduce vari aggiornamenti per la riproduzione di elementi multimediali audio e video, inclusi il supporto per le estensioni MSE (Media Source Extensions) HTML5 World Wide Web Consortium (W3C), il supporto delle estensioni EME (Encrypted Media Extensions) W3C HTML5 e aggiornamenti del controllo XAML MediaElement.

Estensioni MSE (Media Source Extensions) per audio e video HTML5

Le estensioni MSE (Media Source Extensions) HTML5 sono uno standard W3C che estende gli elementi video e audio per consentire la modifica dinamica dei flussi multimediali senza l'uso di plug-in. In questo modo sono supportati scenari come i flussi multimediali adattivi, i flussi live, l'unione di video e l'editing video.

Le soluzioni personalizzate per flussi adattivi possono essere realizzate sulla base di MSE. Le soluzioni per flussi adattivi modificano in modo dinamico la velocità in bit dei flussi multimediali per offrire un'esperienza di flusso della massima qualità. Queste soluzioni provano a determinare la velocità in bit ottimale, in base a vincoli come la larghezza di banda della rete e l'uso della CPU. Se ad esempio la larghezza di banda della rete si riduce, puoi usare le estensioni MSE per passare il flusso video a una velocità in bit inferiore. In questo modo si riduce la qualità dell'immagine, ma il video può continuare la riproduzione senza interruzioni.

Con l'unione dinamica di più video puoi inserire annunci pubblicitari durante la riproduzione multimediale. In questo modo non hai bisogno di inserire i clip di annunci nei file multimediali anticipatamente, ma puoi inserirne uno nel flusso multimediale durante la riproduzione.

Ecco alcuni degli elementi più importanti dell'API MSE.

API Descrizione
MediaSource Oggetto multimediale collegato all'elemento multimediale HTML. MediaSource contiene i dati multimediali specificati da uno o più oggetti SourceBuffer.
MediaSource.readyState Indica lo stato corrente di MediaSource e se è collegato a un elemento multimediale.
SourceBuffer Buffer usato per la memorizzazione dei dati multimediali.
SourceBufferList Raccolta di oggetti SourceBuffer.
MediaSource.endOfStream Indica la causa della fine del flusso.
MediaSource.sourceBuffers Raccolta di oggetti SourceBuffer che contengono i dati multimediali per MediaSource.
createObjectURL Crea un URL per l'oggetto MediaSource. È possibile collegare MediaSource a video o a audio impostando la proprietà src su questo URL.

 

Estensioni EME (Encrypted Media Extensions) per elementi audio e video HTML5

Le estensioni EME (Encrypted Media Extensions) HTML5 sono uno standard W3C che estende gli elementi video e audio per consentire il contenuto protetto con DRM (Digital Rights Management) senza usare plug-in. EME è supportato in Internet Explorer 11 e nelle app di Windows Store basate su JavaScript in esecuzione in Windows 8.1.

Ecco alcune delle API principali usate con le estensioni EME.

API Descrizione
MediaKeys Chiavi usate per crittografare e decrittografare i dati multimediali.
MediaKeySession Sessione di riproduzione a cui sono associate le chiavi.
MediaKeys.createSession Crea la MediaKeySession associata a MediaKeys.
keySystem Attributo per l'elemento multimediale che specifica il sistema di chiavi. Il sistema di chiavi identifica il provider di protezione del contenuto o il meccanismo di decrittografia.
MediaKeyError Specifica i tipi di errori associati a MediaKeys.
MediaKeyMessageEvent Specifica i tipi di eventi correlati a MediaKeys.

 

Aggiornamenti della funzionalità Riproduci su

[Accedi agli esempi di riproduzione di elementi multimediali e di controlli di trasporto di elementi multimediali di sistema (SystemMediaTransportControls) ora.]

Windows 8.1 introduce vari aggiornamenti per migliorare l'esperienza Riproduci su.

Avvio dell'interfaccia utente Riproduci su a livello di programmazione

Le nuove linee guida per l'interfaccia utente per Windows 8.1 invitano gli sviluppatori di app a rendere disponibile un pulsante in-app con un glifo standard Riproduci su per visualizzare il riquadro a comparsa Riproduci su a livello di programmazione, anziché richiedere all'utente di visualizzare l'interfaccia tramite scorrimento rapido sull'accesso ai dispositivi. Usa ShowPlayToUI per visualizzare il riquadro a comparsa.

Ecco alcuni esempi di codice che mostrano come visualizzare l'interfaccia utente Riproduci su.

Non sono attualmente disponibili esempi di codice o questo linguaggio potrebbe non essere supportato.

Riproduci su per riferimento

L'uso di Riproduci su per riferimento permette alle pagine Web e alle app di Windows Store di riprodurre contenuto con protezione DRM. L'app specifica un URI (Uniform Resource Identifier) preferito da inviare al dispositivo di destinazione di Riproduci su. Questo URI può puntare a un server multimediale basato su cloud. Se è presente preferredSourceUri, il dispositivo di destinazione di Riproduci su può trasmettere contenuto direttamente dal cloud e tale contenuto può essere protetto tramite DRM. Confronta la soluzione alternativa, ovvero il flusso di contenuto dal computer Windows 8.1, dove i dati devono essere non protetti.

Ecco alcuni esempi di codice che mostrano come configurare Riproduci su per riferimento.



// video is a MediaElement defined in XAML.
using Windows.Foundation;

video.Source = new Uri("http://www.contoso.com/videos/video.mp4"); 
video.PlayToSource.PreferredSourceUri = 
   new Uri("http://www.contoso.com/catalogid=1234"); 




<video src="http://www.contoso.com/videos/video.mp4" 
   x-ms-playToPreferredSourceUri="http://www.contoso.com/catalogid=1234" /> 


auto video = ref new Windows::UI::Xaml::Controls::MediaElement(); 

video->Source = 
   ref new Windows::Foundation::Uri("http://www.contoso.com/videos/video.mp4"); 

video->PlaytoSource->PreferredSourceUri = 
   ref new Windows::Foundation::Uri("http://www.contoso.com/catalogid=1234"); 


Supporto di audio e video Adobe Flash

Riproduci su supporta ora la riproduzione di contenuto audio e video Flash non protetto da Internet Explorer nella nuova interfaccia utente di Windows su un ricevitore multimediale digitale.

Supporto delle estensioni MSE (Media Source Extensions)

Le estensioni MSE (Media Source Extensions) sono un nuovo standard W3C destinato a diventare il componente di base per la trasmissione di lungometraggi ad alta qualità, di livello premium e a ridotto consumo energetico usando solo un Web browser. MSE non richiede un plug-in. Riproduci su supporta ora la riproduzione di contenuto MSE non protetto proveniente da app di Windows Store che usano JavaScript e siti Web in Internet Explorer nell'interfaccia utente di Windows.

Video su dispositivi solo audio

L'interfaccia utente di Riproduci su supporta ora la selezione di un ricevitore solo audio come endpoint remoto per contenuto video. Il contenuto video viene separato e al dispositivo viene inviata solo la parte audio.

Interfaccia utente dei controlli del trasporto multimediale

In Windows 8.1 puoi usare la nuova classe SystemMediaTransportControls al posto della classe MediaControl.

L'interfaccia utente dei controlli del trasporto multimediale, ossia l'interfaccia visualizzata premendo il controllo del volume verso l'alto o il basso, può ora essere usata come telecomando per la riproduzione su un dispositivo Riproduci su.

I controlli del trasporto possono essere visualizzati e usati per gestire la riproduzione locale o remota, mentre l'app di origine è in background o lo schermo del dispositivo è bloccato. Tutte le app di Windows Store sono dotate di un'implementazione predefinita che include:

  • Associazione dei controlli di trasporto di base, come Riproduci, Pausa e Ricerca

  • Il nome dell'app invece del titolo del brano

  • L'icona dell'app invece della copertina dell'album

La tua app può migliorare l'implementazione predefinita nei modi seguenti:

  • Associare controlli di trasporto avanzati, come la funzionalità per passare alla traccia precedente o successiva

  • Specificare il titolo del brano

  • Specificare la copertina dell'album

  • Specificare il titolo dell'album

Aggiornamenti dell'interfaccia utente dell'accesso ai dispositivi

L'accesso ai dispositivi è ora organizzato gerarchicamente ed elenca i dispositivi in queste categorie:

  • Riproduci

  • Stampa

  • Progetto

  • Tocca e invia (se supportata dall'hardware del dispositivo)

In questo modo è possibile evitare confusione rispetto a quanto che gli utenti si aspettano di trovare nell'accesso ai dispositivi. Queste sezioni sono visibili anche se non sono presenti dispositivi disponibili.

Persistenza del ricevitore multimediale digitale

Il ricevitore multimediale digitale selezionato più di recente e il relativo stato di connessione vengono ora evidenziati nell'accesso ai dispositivi.

Flusso di connessione/disconnessione ottimizzato e segnalazione degli errori migliorata

L'interfaccia utente Riproduci su supporta ora un flusso migliorato di connessione e disconnessione.

Mentre viene stabilita una connessione Riproduci su a un dispositivo, viene visualizzato un nuovo messaggio nell'interfaccia utente per segnalare la connessione in corso e il riquadro a comparsa Riproduci su rimane visibile fino al completamento della connessione. Se la connessione non riesce, viene segnalato un errore di connessione all'app di origine.

Il pulsante Disconnetti è stato rimosso. Per terminare la riproduzione remota e riprendere la riproduzione in locale, invece, gli utenti devono ora selezionare Questo PC, opzione elencata insieme agli altri dispositivi nell'interfaccia utente Riproduci su.

 

 

Mostra:
© 2014 Microsoft