Invio di flussi multimediali ai dispositivi mediante Riproduci su (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

Riproduci su consente agli utenti di trasmettere facilmente audio, video o immagini dal computer ai dispositivi di rete.

Introduzione

Usa Riproduci su per consentire agli utenti di trasmettere audio, video o immagini dal computer ai dispositivi della rete domestica. Ad esempio, un utente che guarda un video nella tua app può trasmetterlo sulla TV per condividerne la visione con altri.

Riproduci su consente di trasmettere audio, video o immagini a un ricevitore certificato per questa funzionalità.

Riproduci su fa parte del pulsante di accesso rapido Dispositivi. Se le applicazioni contengono audio, video o immagini, quando l'utente preme il pulsante di accesso rapido Dispositivi, vengono visualizzati i dispositivi presenti nella sua rete domestica a cui può inviare i contenuti multimediali.

Uso di Riproduci su nell'app

Puoi usare la funzionalità Riproduci su per la trasmissione di contenuti audio o video nell'applicazione, nonché di immagini, implementando il contratto Riproduci Su. Per implementare questo contratto, devi eseguire la registrazione per l'evento sourceRequested. Per eseguire la registrazione per l'evento sourceRequested, devi recuperare un riferimento alla classe PlayToManager corrente chiamando il metodo getForCurrentView. Puoi quindi chiamare addEventHandler sull'oggetto PlayToManager per associare il gestore eventi all'evento sourceRequested. Nel gestore eventi passa l'elemento multimediale dalla tua applicazione al metodo setSource dell'oggetto PlayToSourceRequestedEventArgs passato al gestore eventi, come mostrato nell'esempio seguente.

// Play To Contract

private Windows.Media.PlayTo.PlayToManager ptm = 
        Windows.Media.PlayTo.PlayToManager.GetForCurrentView();

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    ptm.SourceRequested += sourceRequestHandler;
}

private void sourceRequestHandler(
    Windows.Media.PlayTo.PlayToManager sender,
    Windows.Media.PlayTo.PlayToSourceRequestedEventArgs e)
{
    try
    {
        e.SourceRequest.SetSource(mediaElement.PlayToSource);
    }
    catch (Exception ex)
    {
        messageBlock.Text += "Exception encountered: " + ex.Message + "\n";
    }
}
// Play To Contract

var ptm = Windows.Media.PlayTo.PlayToManager.getForCurrentView();
ptm.addEventListener("sourcerequested", sourceRequestHandler, false);

function sourceRequestHandler(e) {
    try {
        e.sourceRequest.setSource(mediaElement.msPlayToSource);

    } catch (ex) {
        id("messageDiv").innerHTML += "Exception encountered: " + ex.message + "<br/>";
    }
}
' Play To Contract

Private ptm As Windows.Media.PlayTo.PlayToManager =
        Windows.Media.PlayTo.PlayToManager.GetForCurrentView()

Protected Overrides Sub OnNavigatedTo(e As Navigation.NavigationEventArgs)
    AddHandler ptm.SourceRequested, AddressOf sourceRequestHandler
End Sub

Private Sub sourceRequestHandler(
    sender As Windows.Media.PlayTo.PlayToManager,
    e As Windows.Media.PlayTo.PlayToSourceRequestedEventArgs)

    Try
        e.SourceRequest.SetSource(mediaElement.PlayToSource)
    Catch ex As Exception
        messageBlock.Text &= "Exception encountered: " & ex.Message & vbCrLf
    End Try
End Sub

Quando un utente seleziona la destinazione di Riproduci su dal pulsante di scelta rapida Dispositivi, la funzionalità Riproduci su genera l'evento sourceRequested e invia quindi l'elemento multimediale passato al metodo setSource al dispositivo di destinazione selezionato dall'utente.

Se è in corso l'invio di un flusso multimediale dalla tua applicazione al dispositivo di destinazione tramite Riproduci su, la trasmissione proseguirà anche se la tua applicazione viene spostata in background ed è attiva un'altra applicazione. Per altre informazioni, vedi l'argomento relativo ad avvio, ripresa e multitasking.

Comportamento predefinito di Riproduci su

Per impostazione predefinita, la funzionalità Riproduci su è abilitata per tutti gli elementi audio e video contenuti in una pagina dell'applicazione. Puoi disabilitare questo comportamento predefinito nella tua app o specificare quali elementi audio o video non devono essere soggetti al comportamento predefinito di Riproduci su.

Per disabilitare il comportamento predefinito di Riproduci su nella tua app, devi impostare la proprietà defaultSourceSelection dell'oggetto PlayToManager su false.

var ptm = Windows.Media.PlayTo.PlayToManager.getForCurrentView();
ptm.defaultSourceSelection = false;

Per disabilitare il comportamento predefinito di Riproduci su per un elemento audio o video specifico, devi includere la proprietà x-ms-playToDisabled nel markup dell'elemento.

<video src="http://sample.microsoft.com/video.mp4" x-ms-playToDisabled />

Puoi anche disabilitare il comportamento predefinito di Riproduci su per un elemento in JavaScript impostando la proprietà msPlayToDisabled su true.

Se in una pagina ci sono più elementi audio o video e vuoi specificarne uno come primo elemento da inviare tramite Riproduci su, puoi includere la proprietà x-ms-playToPrimary nel markup dell'elemento.

<video src="http://sample.microsoft.com/showvideo.mp4" x-ms-playToPrimary />

Puoi anche specificare il primo elemento da inviare tramite Riproduci su in JavaScript impostando la proprietà msPlayToPrimary su true.

Linee guida per usare Riproduci su in un'app

Se l'app consente agli utenti di visualizzare video o immagini o di ascoltare audio, con la funzionalità Riproduci su puoi rendere possibile anche la trasmissione di contenuti multimediali in un dispositivo remoto.

Assicurati di abilitare il pulsante di accesso rapido Dispositivi nell'app se sono disponibili contenuti audio, video o immagini per l'utente.

Verifica che gli utenti possano continuare a spostarsi nell'applicazione dopo che hanno iniziato la trasmissione di contenuti multimediali in un dispositivo multimediale con Riproduci su. Per una trasmissione costante di contenuti multimediali, devi assicurarti che l'elemento multimediale dell'app rimanga nell'ambito.

Poiché Riproduci su fa parte dell'interfaccia utente di Windows, non richiedere agli utenti di passare a una specifica pagina o schermata dell'applicazione per accedere a questa caratteristica.

Argomenti correlati

Guida introduttiva: Uso di Riproduci su nelle app

Guida introduttiva: Trasmissione di una presentazione con Riproduci su

Esempi

Esempio di Riproduci su

Esempio di PlayToReceiver

Esempio di server multimediale