В начале 2013 года в новостной ленте блога Intel мы сообщили о новой версии технологии WiDi, которая, в том числе, получила совместимость с родственным стандартом Miracast. Тогда эта информация прошла незамеченной, и на наш взгляд, весьма напрасно, поскольку картина в области беспроводных дисплеев кардинально изменилась. И одно из изменений — появление Miracast на Android. Давайте попробуем разобраться, как соотносятся друг с другом Miracast и WiDi, каким функционалом на пару обладают и как создавать приложения под Android с их использованием.
Многообразие функций и возможностей
О стандарте WiDi мы уже рассказывали достаточно: следили за новостями, рассматривали с точки зрения разработчика и даже тестировали живой серийный адаптер. Теперь для начала опишем в нескольких словах технологию Miracast.
Технологии Прям из Будущего — Беспроводной Проектор
Общая коцепция Miracast
Miracast представляет собой технологию передачи мультимедийной информации (аудио и видео) посредством WiFi. В качестве транспорта в нем используется стандарт WiFi Direct, позволяющий двум устройствам обмениваться данными друг с другом без помощи дополнительной сетевой инфраструктуры. Попросту говоря, Miracast можно представить, как беспроводной HDMI.
Miracast еще довольно молод: официальная сертификация Miracast устройств альянсом WiFi Alliance началась чуть более года назад. Для передачи видео используется кодек Н.264, звук может быть двух- или пятиканальным. Miracast является открытым стандартом, не принадлежащим какой-либо компании; его привлекательность еще более повысилась после того, как в прошлом году его поддержка была добавлена в ОС Android 4.2. Замечу сразу, что в Android 4.2 на конкретном устройстве не гарантируется наличие Miracast – это надо выяснять дополнительно. Полный список сертифицированных устройств- как передатчиков, так и приемников можно посмотреть на сайте WiFi Alliance.
Архитектура Miracast (со стороны передатчика)
- обязательная поддержка HD видео вплоть до 1080p (хотя стандарт Miracast допускает высокое разрешение, но не обязывает все устройства поддерживать его);
- поддержка системы защиты контента HDCP (High-bandwidth Digital Content Protection);
- наличие двух дополнительных видео режимов – расширенного и многозадачного (о них чуть позже).
Процесс подключения беспроводного дисплея на примере Samsung Galaxy S4
Ну а теперь пришло время поговорить о режимах. Нативным для WiDi/Miracast является Режим Клонирования – на удаленном дисплее отображается та же картинка, что и на локальном, с тем же разрешением.
Беспроводное подключение планшета/ смартфона на Андроид к телевизору с помощью Miracast.
Двойной режим также относится к основным; в нем на удаленном дисплее проигрывается контент, а основной служит для управления и вывода служебной информации. Данный режим поддерживается через Android Presentation API.
Расширенный режим имеется только в WiDi (и, соответственно, доступен только для устройств на платформе Intel Atom). В нем видео режим включается автоматически, когда пользователь запускает мультимедийный контент на плеере, использующим Android Media Player framework. Разрешение картинки остается «родным» вплоть до 1080р. При этом локальный рендеринг видео может отключаться для сокращения энергопотребления.
Наконец, самый продвинутый – Многозадачный Режим, при котором видео плеер посылает изображение на удаленный дисплей, а на локальном в это время пользователь делает, что хочет: просматривает интернет, принимает звонки или даже смотрит совсем другое видео, тоже в FullHD разрешении!
Варианты использования режима двух дисплеев:
Режим двух дисплеев подходит не только для просмотра видео. Совершенно несложно набросать список жизненных его применений:
- просмотр интернет на большом экране (смартфон выступает в роли тачпада);
- заполнение форм или набор небольших текстов (смартфон – сенсорная клавиатура);
- игры (смартфон – сенсорный геймпад/джойстик);
- мобильное рабочее место (смарфтон – компьютер, к нему по Bluetooth подключена периферия).
Создаем Android приложение для двух дисплеев
- внедрить поддержку второго дисплея в приложения, не заботясь о способе, которым он будет физически подключен;
- работать с MHL, HDMI, Slimport или Miracast совместимыми устройствами;
- осуществлять управление вторым дисплеем независимо от первого.
public class DemoPresentation extendsPresentation
Также необходима ассоциация с классом Display при создании. Presentation наследуется от Dialog, а что касается Dialog, то его жизненный цикл привязан к Activity.
Перед тем, как задействовать Presentation, вам необходимо выбрать дисплей, что может быть сделано двумя способами:
1. MediaRouter API (в API 16) – система сама выберет лучший дисплей за вас
// Get the media router service. MediaRouter mMediaRouter = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE); // Use the MediaRouter that supports live video MediaRouter.RouteInfomRouteInfo =mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); Display presentationDisplay= mRouteInfo.getPresentationDisplay();
2. Display Manager API (в API 17) – перечень дисплеев.
// Get the display manger service. DisplayManager mDisplayManager = (DisplayManger)getSystemService(Context.DISPLAY_SERVICE); // enumerate the displays Display[] displays =mDisplayManager.getDisplays(DisplayManger.DISPLAY_CATEGORY_PRESENTATION);
Добавление MediaRouteButton в приложение:
//Sets Media Route Button to second screen mode mediaRouteActionProvider.setRouteTypes(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); //Launches the Wireless display setting intent startActivity(newIntent («android.settings.WIFI_DISPLAY_SETTINGS»));
В res/menu/default.xml:
Как заставить Presentation API работать:
Далее, используя MediaRouter.addCallback, необходимо мониторить:
- onRouteUnselected
- onRouteSelected
- onRoutePresentationDisplayChanged
А внутри активности, которая владеет Presentation:
- onResume
- onPause
API для управления WiFi дисплеями присутствуют внутри Android AOSP, но не являются частью Android framework. Параметры беспроводного дисплея могут быть вызваны через Intentandroid.settings.WIFI_DISPLAY_SETTINGS, но и он также не входит во фреймворк. Некоторые производители используют другие варианты: Samsung – com.samsung.wfd.LAUNCH_WFD_PICKER_DLG, HTC – com.htc.wifidisplay.CONFIGURE_MODE_NORMAL.
Все API, приведенные на рисунке ниже, являются внутренними для Android 4.2/4.3. Они являются частью AOSP и распространяются свободно, однако не входят во фреймворки и работать не обязаны.
В заключение отметим, что тестировать приложения для двух дисплеев можно как на реальном железе, поддерживающем данный функционал, так и на эмуляции, доступной начиная с Android 4.2 в опциях разработчика. Вы можете выбрать разрешение и dpi второго виртуального дисплея, и получите оверлей с его отображением.
При подготовке поста использовались материалы IDF 2013, авторы — Xavier Hallade и Costas Stylianou.
- Блог компании Intel
- Разработка под Android
Источник: habr.com
Правильное использование Miracast на Android
Многие современные гаджеты поддерживаются технологию Miracast, предоставляющую возможность беспроводной передачи сигнала, включая аудио- и видеоформат. На Android-смартфонах данная функция позволяет транслировать медиазаписи на некоторые внешние устройства, будь то телевизор или компьютер. Далее в настоящей инструкции мы расскажем про использование и включение Miracast на телефоне.
Использование Miracast на Android
Несмотря на упомянутую ранее поддержку рассматриваемой функции на многих устройствах, все же встречаются девайсы, лишенные этой возможности. Из-за этого обязательно убедитесь в наличии Miracast на смартфоне, например, ознакомившись с техническими характеристиками на официальном сайте производителя или в стандартной инструкции из комплекта. Можете потратить больше времени и узнать о наличии поддержки прямо во время ознакомления с инструкцией и поиска нужных разделов в настройках Андроид.
Шаг 1: Подготовка внешнего устройства
В нашем случае подразумевается трансляция изображения с телефона на экран компьютера или телевизора посредством Miracast, и потому именно этот шаг идет в первую очередь. Кроме того, для внешних устройств именно он позволяет произвести подключение, в то время как на Android возможность доступна всегда.
Телевизор
-
Параметры на ТВ с поддержкой Miracast напрямую зависят от модели. В качестве примера мы рассмотрим включение Миракаст на телевизоре LG.
На ТВ с помощью ПДУ перейдите в раздел «Настройки», нажав кнопку «Setting».
Компьютер
Предварительная настройка Miracast на компьютере заключается в активации функции в режиме, соответствующем порядку передачи сигнала. На примере Виндовс 7 и 10 процедура нами была детально описана в следующих статьях на сайте. Однако учтите, что далеко не каждый компьютер поддерживает передачу информации подобным образом, но технология Miracast доступна в любом случае.
Подробнее: Использование Miracast в Windows 7 и Windows 10
Обратите внимание: для трансляции изображения с телефона на ПК при включении Miracast нужно выбирать вариант «Проецировать на этот компьютер». На телевизоре же направление подключения напрямую определяется устройством, где было выбрано и одобрено соединение.
Шаг 2: Создание трансляции Miracast
Несмотря на тему статьи, этот этап занимает меньше всего времени, так как на телефоне нужная функция выведена в отдельный раздел параметров. Как мы уже упоминали, если Миракаст воспользоваться не получится, скорее всего, данный тип передачи информации попросту не поддерживается вашим гаджетом.
- Откройте системное приложение «Настройки» и перейдите к разделу «Экран». Перед этим не забудьте про включение Wi-Fi.
- Дальше необходимо нажать по строке «Трансляция» и после перехода дождаться появления устройств в списке. Если девайсы отсутствуют, убедитесь в работоспособности Miracast на телевизоре или компьютере.
- В завершение необходимо выбрать устройство и подключиться к нему. Это действие потребует подтверждения на другой стороне соединения или на смартфоне.
Описанных действий будет достаточно для включения и использования Миракаст как при подключении к ПК, так и к телевизору. При этом на телефоне помимо раздела с настройками экрана можно воспользоваться значком в области уведомлений, открыв и внимательно осмотрев шторку.
Заключение
Как видно, включение Miracast отдельно от процедуры подключения к внешним устройствам не требуется. Вдобавок к этому, помимо рассмотренного варианта, не требующего установки вспомогательного ПО, можно воспользоваться сторонними приложениями. Такой метод неудобен в использовании, но все же существует.
Источник: lumpics.ru
Что такое Miracast в телевизоре
Многим наверняка встречалось слово Miracast в опциях нового телевизора, ноутбука, планшета или смартфона? Что это за функция, запатентованная в 2012 году и зачем она нужна?
Что такое Miracast
По сути, это беспроводной интерфейс, а если более подробно, то это своего рода канал связи, заменяющий функцию кабеля HDMI. Другими словами, функция реализует беспроводную связь мониторов телевизора, компьютера или ноутбука с мониторами планшета, нетбука или смартфона. То есть всё, что происходит на экране смартфона, планшета может дублироваться на телевизоре, мониторе ПК, ноутбуке.
Miracast имеет свой пакет синхронизации и не требует задействования каких-либо дополнительных устройств. Разве что для обеспечения этой функцией компьютера, может быть необходим специальный Miracast-приёмник.
Эта связь обладает такими достоинствами, как:
- высокоскоростная передача изображения, разрешением до 1920×1200 FullHD;
- используется Wi-Fi стандарта IEEE 802.11n, обеспечивающий скорость передачи данных до 150 Мбит/сек;
- высокий уровень собственной синхронизации;
- возможность передачи 3D видео;
- простой интерфейс с полной автоматизацией всех настроек;
- совместимость всех устройств стандарта Miracast.
Но даже если такой функции телевизор или монитор не имеет, то её можно установить, подключив специальный недорогой Miracast адаптер через разъём HDMI. К планшету или смартфону никаких приспособлений не нужно. Все устройства от компании Apple поддерживают эту функцию. У Android достаточно, чтобы смартфон имел опцию «Беспроводной экран» в разделе «Экран» в «Настройках».
Как узнать, поддерживает ли телевизор Miracast
Если телевизор изготовлен после 2012 года, то, скорее всего, он имеет эту функцию. Этот тип связи сейчас устанавливают почти во всех ЖК телевизорах. Подробное описание способа пользования этой услугой изложено в технической документации, которая прилагается к телевизору. Также можно узнать о её наличии, проверив её непосредственно на самом ТВ-приёмнике.
Брендовые телевизоры Philips, LG, Sony, Samsung, Toshiba или Hitachi и другие имеют свои типы интерфейсов. Поэтому, чтобы узнать о наличии этой функции, необходимо прочитать инструкцию по эксплуатации либо попробовать поискать её в меню самостоятельно:
- включить пультом кнопку «Smart» или «Home», может быть на ней просто изображён домик;
- разделе HDMI-2 поискать «Screen Share»;
- настроить смартфон или планшет.
В крайнем случае, придётся проштудировать через поисковую систему интернетовскую сеть.
В отечественных моделях или подобных им она находится в опции «Настройки» в разделе «Сетевые подключения». Может изображаться иконкой земного шара. Там, должна быть опция со словом Miracast. Если она отсутствует, то, скорее всего, производители сэкономили на этом и для её осуществления необходим адаптер.
Настройка Miracast
После того как на телевизоре будет включён этот режим, необходимо подключиться и система сама сможет согласовать оба устройства. Со смартфона или планшета с ОС Android можно подключиться, зайдя в Настройки / Экран / Беспроводной экран / Miracast. В некоторых моделях Настройки / Беспроводные сети / Ещё / Play To.
С устройства с ОС iPhone, Android можно подключиться, включив Wi-Fi. Зайти в Настройки / Другие сети. Здесь необходимо найти и запустить приложение Screen Mirroring. На экране согласуемого устройства должно появиться название телевизора, или того аппарата, к которому необходимо подключиться. Никаких паролей обычно система не запрашивает.
ВАЖНО! При длительной трансляции со смартфона или планшета, необходимо позаботиться о достаточности зарядки аккумулятора. И если это удобно, подключить к нему зарядное устройство.
Настройка приёма Miracast на ноутбуке или ПК
Ноутбуки обычно все содержат Wi-Fi модули, современные материнские платы тоже обычно имеют встроенный Wi-Fi. Но даже если этого модуля нет, то можно использовать портативный Miracast-приёмник, подключаемый через USB-разъём. Но, если в устройствах установлена ОС версии Windows 7 и ниже, согласовать их не представляется возможным.
Другие версии, Windows 8, 8.1, 10 могут производить обслуживание описываемой функции. Для быстрого определения необходимо в «Панели задач» открыть поисковик и вставить слово Miracast. Затем будет предложен вариант «Проецирование на этот компьютер». После его включения, откроется окно с параметрами, где будет указано, поддерживает ли устройство эту связь или нет. В случае поддержки, можно его включить.
На противоположном устройстве будет отображаться имя вашего компьютера, после включения необходимых режимов, описанных выше.
Что делать, если с Miracast возникают проблемы
Причина, из-за которой телевизор отказывается производить соединение – это неисправность модуля либо отсутствие необходимого драйвера. Проблема с драйвером легко решается, если телевизор подключён к интернету, например, через Wi-Fi. Тогда в разделе Miracast необходимо запустить приложение Upgrade. Система сама скачает и установит необходимое ПО, надо будет только следовать предлагаемому алгоритму.
Основные причины, из-за которых невозможно установить соединение:
- отсутствие или несовместимость данной функции у любого из приборов;
- отсутствие необходимого драйвера;
- «старая» ОС, не имеющая соответствующего программного обеспечения;
- неисправность любого из модулей.
Проблемы при подключении к компьютеру
На компьютере должна быть установлена ОС не ниже версии Windows 8. Непременным условием должно быть наличие Wi-Fi модуля, а также установлен драйвер, который идёт в комплект к ноутбуку или материнской плате со встроенным Wi-Fi. Его можно также скачать, но только непосредственно с сайта производителя.
Отсутствие необходимого драйвера или установка драйвера с других источников может быть причиной того, что ОС выдаст отрицательный ответ. Хотя ПК может поддерживать эту функцию, если обновить драйвер видеокарты программным обеспечением непосредственно с сайта производителя.
Источник: setafi.com