Play To. Часть 2

Сегодня мы продолжим рассмотрение контракта Play To: узнаем как его реализовать программно, посмотрим на существующие примеры и узнаем, что делать хорошо, а что нет. Первую часть Вы можете найти здесь.

Для чего нужен PlayTo контракт?

Реализация  Play To очень проста и состоит из нескольких следующих пунктов:

  1. Получение объекта PlayToManager для текущего отображения.
  2. Подписка на событие SourceRequested.
  3. Установите PlayToSource из медиа-элемента. На основе типа распространяемого элемента (видео, аудио и т.п.) система показывает только те устройства, которые могут принимать этот тип медиа. Если пользователь выбирает устройство, PlayToSource отправляется ему.

Давайте рассмотрим простой пример, как включить воспроизведение для одного медиа-элемента.

JavaScript
<video id="videoplayer" src="http://www.contoso.com/clip.mp4" controls autoplay />
<script type="text/javascript">
  // Step 1: Obtain PlayToManager object for app’s current view.
  var ptm = Windows.Media.PlayTo.PlayToManager.getForCurrentView();
  // Step 2: Register for the sourcerequested event (user selects Devices button).
  ptm.addEventListener("sourcerequested", function(e) {
      var request = e.sourceRequest;

      // Step 3: Specify the media to be streamed (to filter devices)
      request.setSource(document.getElementById("videoplayer").msPlayToSource);
      // The media will then be streamed to the device chosen by the user in the UI.
  });
</script>
XAML
<MediaElement x:Name="videoplayer" 
                 Source="http://www.contoso.com/clip.mp4"
                 AutoPlay="true" />
// Step 1: Obtain PlayToManager object for app’s current view.
PlayToManager ptm = Windows.Media.PlayTo.PlayToManager.GetForCurrentView();

// Step 2: Register for the SourceRequested event (user selects Devices button).
ptm.SourceRequested += (PlayToManager sender, PlayToSourceRequestedEventArgs e) => {
  request = e.SourceRequest;

  // Step 3: Specify the media to be streamed.
  PlayToSourceDeferral deferral = request.GetDeferral();
  request.SetSource(videoplayer.PlayToSource);
  deferral.Complete();
}
// The media will then be streamed to the device chosen by the user in the UI.

Как и что необходимо делать?

Если ваше приложение содержит в себе интересные фотографии, музыку или видео, которые могут выглядеть лучше на большом экране и/или высококачественном стерео — у Вас есть смысл использовать Play To контракт.

Play To автоматически включается для приложений, которые воспроизводят музыку и/или видео (но не организовывают просмотр изображений). Этот функционал по-умолчанию отлично работает для отдельных медиа-элементов; однако, возможности Play To позволяют нам намного больше, например, слайд-шоу и плейлисты.

Потоковая передача Play To поддерживает все музыкальные файлы, видео и изображения, которые не находятся под защитой DRM.

Для этого поста я использую стандартное приложение “Фотографии”, как пример прекрасной реализации контракта Play To.

 

Пример

Пользователи могут открывать правую панель и выбрать пункт “Устройства”, и увидеть совместимые устройства из любой точки приложения. Всякий раз, когда пользователь просматривает фото, видео и т.п. у него будет возможность открыть правую панель и просмотреть параметры устройства. Так же пользователи могут отправлять весь альбом на другое устройство для просмотра и т.п..

В данном примере пользователь должен выбрать фото и видео, которые будут  отправлены на телевизор. Когда пользователь открывает пункт “Устройства” в правой панели они увидят доступные устройства, которые могут принимать передаваемый тип содержимого.

skate_park

Вот как приложение выглядит, когда оно работает с телевизором:После того как пользователь выбирает устройство он хочет знать, что именно ретранслируется на него из приложения в данный момент. Приложение “Фотографии” подчеркивает такой элемент прямоугольником вокруг него.

skate_park2

Создание слайд-шоу

Сертифицированные Microsoft Play To устройства поддерживают пребуферизацию следующего элемента. Передача устройству в буфер следующего элемента воспроизведения  — отличный способ обеспечить высокую производительность, которая имеет решающее значение для большинства пользователей. Приложения могут воспользоваться этой возможностью, указав источник для «следующего» элемента в Play To. По данной ссылке Вы сможете найти пособие по быстрой реализации данного функционала.

 

Поддержка воспроизведения

Play To сессия продолжает играть до тех пор, пока пользователь не отключит ее. Это обеспечивается благодаря двум сценариям многозадачности:

  1. Пользователи могут перемещаться между разными фотоальбомами в том же приложении. Поддержка данного сценария требует от приложения возможность продолжать работать при уходе со страницы «Now Playing». Например, в приложении “Фотографии” пользователи могут выбрать несколько фотографий и обмениваться ими по электронной почте, а слайд-шоу продолжает играть на телевизоре, или вы можете искать следующий список фотографий для показа, при этом не прерывая слайд-шоу.
  2. Пользователи могут переключиться на другое приложение, например, чтобы проверить электронную почту, в то время как слайд-шоу продолжает транслироваться на телевизор. В этом случае приложение ничего не делает. Windows автоматически поддерживает работу приложения в фоновом режиме во время работы Play To. У приложения есть примерно 10 секунд для того, чтобы отправить новое изображение после предыдущего и приблизительно 10 секунд для того, чтобы послать следующее аудио или видео после окончания текущего иначе сеанс оборвется. Когда активная трансляция обрывается/заканчивается — Windows приостанавливает приложение.

 

Что можно и нельзя делать?

Можно:

  • Сообщать пользователю, что ваше приложение транслирует контент на другое устройство.
  • Положитесь на функционал “Устройства” для подключения к устройствам (и отключения).
  • Поддерживайте сессию Play To активной при переключении пользователя на другие приложения.
  • При воспроизведении музыки, фотографий и видео, обязательно указывайте следующий элемент PlayToSource для повышения производительности.

Нельзя:

  • Добавлять пользовательские кнопки для начала и/или окончания Play To. Пользователь все должен сделать сам с помощью функционала “Устройства” в правой панели.

 

Что на счет веб-страниц?

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

Музыка и видео, длина которых не достигает и 5 секунд (включительно), и изображения, которые меньше 300х300 пикселей (включительно), игнорируются IE и никогда не включаются автоматически.

По данной ссылке Вы сможете найти больше информации по поводу использования Play To для веб-страниц

 

Немного о форматах

Все форматы, с которыми Windows “дружит” Вы сможет найти здесь. Но для лучшей производительности рекомендуется использовать 1080р для изображений,  720p (или 1080) для MP4 видео — с H264 и AAC аудио.

 

На этом наш рассказ о таком прекрасном функционале как Play To заканчивается. Радуйте своих пользователей новым интересным и полезным функционалом!

 

Ссылка на источник: Enabling great Play To experiences from your Windows 8 apps (and websites!)

Реклама
Tagged with: , , , , ,
Опубликовано в Development, Windows 8.1
One comment on “Play To. Часть 2
  1. […] этом первая часть подошла к концу. Во второй части мы рассмотри программную реализацию данного […]

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: