共用方式為


使用「播放至」將媒體串流至裝置 (HTML)

[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]

「播放至」功能可以讓使用者輕鬆地將電腦中的音訊、視訊或影像中串流到網路裝置。

簡介

您可以使用「播放至」功能,讓使用者在自己的家用網路上輕易地將音訊、視訊或影像從電腦串流至裝置。例如,利用您的應用程式來觀看視訊的使用者,可以將該視訊串流到電視機,讓房間裡的每個人觀賞。

「播放至」功能可以將音訊、視訊或影像串流至已認證的「播放至」接收器。

「播放至」是裝置常用鍵的一部分。如果是包含音訊、視訊或影像的應用程式,使用者開啟裝置****常用鍵,可以從家用網路上看到裝置,將媒體內容串流至裝置。

在您的應用程式中使用「播放至」功能

您可以透過實作播放至協定,使用「播放至」串流應用程式中的音訊或視訊以及影像。如果想在應用程式中實作「播放至」協定,請登錄 sourceRequested 事件。若要登錄 sourceRequested 事件,請呼叫 getForCurrentView 方法以取得目前 PlayToManager 的參考。然後您可以在 PlayToManager 呼叫 addEventHandler,將事件處理常式與 sourceRequested 事件建立關聯。在您的事件處理常式中,將媒體元素從應用程式傳遞到 PlayToSourceRequestedEventArgs 物件 (該物件已傳遞到事件處理常式) 的 setSource 方法,如下列範例所示。

// 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

當使用者從 [裝置]常用鍵選取「播放至」目標,「播放至」會引發 sourceRequested 事件。然後,「播放至」會將已傳遞到 setSource 方法的媒體元素串流至使用者選取的目標裝置。

如果「播放至」將媒體從應用程式串流至目標裝置,即使您的應用程式在其他應用程式執行時移至背景,「播放至」也會繼續將媒體從應用程式串流至目標裝置。如需詳細資訊,請參閱啟動、繼續及多工處理

播放至預設行為

根據預設,應用程式頁面上的所有音訊和視訊元素都會啟用「播放至」。您可以停用應用程式中的這個預設行為,或者您可以識別哪一個音訊或視訊元素無法供預設「播放至」行為使用。

若要停用應用程式的預設「播放至」行為,請將PlayToManager 物件的 defaultSourceSelection 屬性設定成 false。

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

若要停用特定音訊或視訊元素的預設「播放至」行為,請將 x-ms-playToDisabled 屬性包含在元素標記中。

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

msPlayToDisabled 屬性設定成 true,也可以停用 JavaScript 中元素的預設「播放至」行為。

如果頁面上有多個音訊或視訊元素,而且您想識別「播放至」要串流的第一個元素,您可以將 x-ms-playToPrimary 屬性包含在元素標記中。

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

msPlayToPrimary 屬性設定成 true,也可以識別「播放至」要在 JavaScript 中第一個串流的元素。

在應用程式中使用「播放至」功能的指導方針

如果應用程式允許使用者觀看視訊或影像,或者聆聽聲音,請務必在應用程式中包含「播放至」功能,這樣也可以讓使用者將媒體串流至遠端裝置。

請務必在您想和使用者分享音訊、視訊或影像內容的位置,於應用程式中啟用裝置常用鍵。

當使用者使用「播放至」功能並開始將媒體串流至遠端裝置時,請確定使用者可以繼續瀏覽您的應用程式。若要保持媒體串流,您必須確定應用程式中的媒體元素保留在範圍之內。

因為「播放至」是 Windows 使用者介面的一部分,所以使用者無須瀏覽至應用程式的特定網頁或畫面,便可使用「播放至」功能。

相關主題

快速入門:在應用程式中使用「播放至」功能

快速入門:使用「播放至」功能串流投影片放映

範例

播放至範例

PlayToReceiver 範例

媒體伺服器範例