Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Использование PlayTo Windows Runtime

0

DLNA   (Digital   Living   Network   Alliance)   —   стандарт,   который   позволяет совместимым устройствам передавать и   принимать   по   домашней  сети различный медиаконтент (аудио, видео,  изображения). Если Ваши устройства поддерживают DLNA,  то  с  помощью  Windows  8  можно  отправить на  них цифровой медиаконтент, используя сетевое подключение, например WiFi. Под устройствами тут следует понимать медиаплейеры, телевизоры, телефоны и др.

Итак, чтобы обеспечить поддержку DLNA Вашим приложением,  необходимо реализовать  специальный   контракт    PlayTo.   Это    позволит  приложению зарегистрировать медиаконтент  как  потенциальный  источник  для  внешних устройств, всего лишь определив обработчик события SourceRequested внутри Вашего  приложения. Важно то, что Ваши  приложения  тесно интегрированы с  системой.  Поэтому  если  пользователь хочет  отобразить  медиаконтент  на внешнем устройстве, все,  что  ему  нужно  сделать,  —  активировать  панель управления Windows и выбрать раздел Devices. Именно в нем будут отображаться все активные  устройства, поддерживающие DLNA (наряду с другими), одно из которых может выбрать пользователь. Это означает, что никаких специальных интерфейсов для  реализации  PlayTo  разрабатывать не  нужно.   Достаточно определить функционал, который будет предоставлять источник данных.

Итак, чтобы определить PlayTo, необходимо выполнить следующие шаги:

·                   получить  ссылку  на  объект  типа  PlayToManager,  вызвав  статический метод GetForCurrentView;

·                   используя    полученную    ссылку,    определить    обработчик    события

SourceRequested;

·                   использовать метод  SetSource  для   передачи   источника   внешнему устройству.

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

Вот небольшой пример кода, который демонстрирует подключение функционала

PlayTo:

private PlayToManager ptm;

protected override void OnNavigatedTo(NavigationEventArgs e)

{

ptm = PlayToManager.GetForCurrentView(); ptm.SourceRequested += SourceRequested;

}

private void SourceRequested(PlayToManager sender, PlayToSourceRequestedEventArgs e)

{

PlayToSourceRequest sr = e.SourceRequest; PlayToSource controller = null;

controller = ((MediaElement)mediaElement).PlayToSource; sr.SetSource(controller);

}

Сергей Лутай, Сергей Байдачный, Windows 8 для C# разработчиков

По теме:

  • Комментарии