Поделиться через


PlayToSourceRequest.GetDeferral Метод

Определение

Откладывает подключение источника мультимедиа к целевому объекту воспроизведения.

public:
 virtual PlayToSourceDeferral ^ GetDeferral() = GetDeferral;
/// [Windows.Foundation.Metadata.Deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, Windows.Foundation.UniversalApiContract)]
PlayToSourceDeferral GetDeferral();
/// [Windows.Foundation.Metadata.Deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Foundation.UniversalApiContract")]
PlayToSourceDeferral GetDeferral();
[Windows.Foundation.Metadata.Deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, typeof(Windows.Foundation.UniversalApiContract))]
public PlayToSourceDeferral GetDeferral();
[Windows.Foundation.Metadata.Deprecated("PlayToSourceRequest may be altered or unavailable for releases after Windows 10.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Foundation.UniversalApiContract")]
public PlayToSourceDeferral GetDeferral();
function getDeferral()
Public Function GetDeferral () As PlayToSourceDeferral

Возвращаемое значение

Объект отсрочки, который можно использовать для определения завершения отсрочки.

Атрибуты

Примеры

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

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

async private void sourceRequestHandlerDeferred(
    Windows.Media.PlayTo.PlayToManager sender,
    Windows.Media.PlayTo.PlayToSourceRequestedEventArgs e) 
{
    var deferral = e.SourceRequest.GetDeferral();

    // Async call to get source media
    var element = await getMediaElementAsync();
    e.SourceRequest.SetSource(element.PlayToSource);

    deferral.Complete();
}
Private ptm As Windows.Media.PlayTo.PlayToManager =
    Windows.Media.PlayTo.PlayToManager.GetForCurrentView()

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

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

    Dim deferral = e.SourceRequest.GetDeferral()

    ' Async call to get source media
    Dim element = Await getMediaElementAsync()
    e.SourceRequest.SetSource(element.PlayToSource)

    deferral.Complete()
End Sub

Комментарии

Отсрочку можно использовать, если требуется выполнить асинхронный вызов для получения элемента мультимедиа для потоковой передачи. После этого будет ждать, пока вы не предоставите элемент мультимедиа, пока вы не пометите отсрочку как завершенную.

Чтобы создать отсрочку, вызовите метод GetDeferral, чтобы класс PlayToManager ожидал получения исходного элемента мультимедиа для потоковой передачи в целевой объект Воспроизведения. После того как вы предоставили исходный элемент мультимедиа методу SetSource , вызовите метод Complete , чтобы завершить отсрочку. Если вы создаете отсрочку и время ожидания превышает свойство Deadline , воспроизведение будет продолжаться без исходного элемента из вашего приложения.

Пример использования play To в приложении см. в разделе PlayReady DRM.

Применяется к

См. также раздел