원격 재생을 사용하여 장치로 미디어 스트리밍(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

원격 재생 기능을 사용하면 사용자가 컴퓨터의 오디오, 비디오 또는 이미지를 네트워크 장치로 쉽게 스트리밍할 수 있습니다.

소개

원격 재생 기능을 사용하면 사용자가 컴퓨터의 오디오, 비디오 또는 이미지를 홈 네트워크의 장치로 쉽게 스트리밍할 수 있습니다. 예를 들어 응용 프로그램에서 비디오를 시청하는 사용자가 한 공간에 있는 모든 사람과 함께 보기 위해 해당 비디오를 TV로 스트리밍할 수 있습니다.

원격 재생 기능은 오디오, 비디오 또는 이미지를 인증된 원격 재생 수신기로 스트리밍합니다.

원격 재생 기능은 장치 참 메뉴에 포함되어 있습니다. 오디오, 비디오 또는 이미지가 포함된 응용 프로그램의 경우 사용자가 장치 참 메뉴를 열면 미디어 콘텐츠를 스트리밍할 수 있는 홈 네트워크의 장치가 표시됩니다.

응용 프로그램에서 원격 재생 기능 사용

재생 계약을 구현하면 원격 재생 기능을 사용하여 이미지뿐 아니라 응용 프로그램의 오디오 또는 비디오를 스트리밍할 수 있습니다. 응용 프로그램에서 재생 계약을 구현하려면 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 />

또한 JavaScript의 요소에 대해 기본 원격 재생 기능 동작을 사용하지 않으려면 msPlayToDisabled 속성을 true로 설정할 수 있습니다.

페이지에 오디오 또는 비디오 요소가 두 개 이상 있는 경우 원격 재생 기능에서 스트리밍할 첫 번째 요소를 식별하려면 요소 태그에 x-ms-playToPrimary 속성을 포함할 수 있습니다.

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

또한 JavaScript에서 원격 재생 기능이 스트리밍할 첫 번째 요소를 식별하려면 msPlayToPrimary 속성을 true로 설정할 수 있습니다.

응용 프로그램에서 원격 재생 기능 사용 시의 지침

응용 프로그램에서 사용자가 비디오 또는 이미지를 보거나 오디오를 들을 수 있는 경우 미디어를 원격 장치로 스트리밍할 수도 있도록 응용 프로그램에 원격 재생 기능을 포함해야 합니다.

사용자가 사용할 수 있는 오디오, 비디오 또는 이미지 콘텐츠가 있는 경우 항상 응용 프로그램에서 장치 참 메뉴를 사용하도록 설정해야 합니다.

사용자가 원격 재생 기능을 사용하여 미디어를 원격 장치로 스트리밍한 후 계속해서 응용 프로그램을 탐색할 수 있는지 확인합니다. 미디어가 계속해서 스트리밍되려면 응용 프로그램의 미디어 요소가 범위 내에 있어야 합니다.

원격 재생 기능은 Windows UI에 포함되어 있으므로 사용자가 원격 재생 기능을 사용하기 위해 응용 프로그램의 특정 페이지나 화면으로 이동할 필요가 없습니다.

관련 항목

빠른 시작: 응용 프로그램에서 원격 재생 기능 사용

빠른 시작: 원격 재생 기능을 사용하여 슬라이드 쇼 스트리밍

예제

재생 샘플

PlayToReceiver 샘플

미디어 서버 샘플