HDMI и Android: подводные камни и решение проблем
Многие современные Android-устройства имеют поддержку HDMI, благодаря чему их можно подключать к мониторам, телевизорам и проекторам. Однако, при подключении смартфона или планшета с помощью HDMI возникает несколько проблем, таких как невозможность отключить экран или размытие картинки на телевизоре. Почему это происходит и как решить проблему?
Что такое HDMI?
Согласно википедии HDMI это “High-Definition Multimedia Interface - интерфейс для мультимедиа высокой чёткости, позволяющий передавать цифровые видеоданные высокого разрешения и многоканальные цифровые аудиосигналы с защитой от копирования.”
Что это значит на деле? Это значит, в какой-то момент людям надоели все эти VGA- и аудио-провода, соединяющие видео-плеер с телевизором и передающие аудио- и видео-сигналы в ужасном качестве и они решили придумать цифровой кабель, который бы передавал эти данные в цифровом формате и позволял достичь невиданных доселе разрешений и качества.
Так появился HDMI, три основных преимущества которого: цифровой сигнал, выскокое разрешение (FullHD, 4K) и объединение аудио- и видео-кабелей в один. Сегодня HDMI это по сути стандарт для подключения разного рода мониторов, телевизоров и проекторов к видео-плеерам, компьютерам, игровым приставкам и подобной им техники. Поддержка HDMI есть и в Android, однако здесь намного больше нюансов его использования, чем с любой другой техникой.
В чем проблема?
Всего есть три основных проблемы:
- Масштабирование. Если родное разрешение экрана устройства и разрешение телевизора/монитора не совпадают, то картинка будет растянута или сжата, что приведет к размытию изображения.
- Поддержка в устройствах. Не многие знают, что отсутствие HDMI-порта в смартфоне или планшете не обязательно означает отсутствие поддержки HDMI как таковой;
- Гашение экрана. При подключении смартфона или планшета к телевизору экран устройства будет продолжать гореть.
Как исправить эти проблемы? Сразу скажу что первую проблему побороть нельзя. Это техническое ограничение Android; при выводе картинки на внешний экран он не формирует картинку заново, а берет уже существующую, то есть ту, которая выводится на основной экран. Если разрешение и там и там совпадает (HD, например), то картинка выводится как есть и проблем не возникает. Если же разрешения различаются как это происходит в 90% случаев, то картинка растягивается или сужается из-за чего качество серьезно падает.
Это правильный подход, цель которого обеспечить максимальную производительность, но он имеет свои недостатки. В так называемых мини-ПК на базе Android эта проблема решается с помощью установки ядра, которое поддерживает подходящее разрешение, например HD или FullHD, в зависимости от родного разрешения телевизора/монитора, но на смартфоне/планшете так сделать не получится, потому что в результате “съедет” изображение на основном экране.
Вторая “проблема” заключается в том, что кроме стандарта HDMI существуют еще и стандарты SlimPort (все Nexus’ы начиная с пятого) и MHL, которые описывают способ передачи сигнала HDMI по USB-кабелю. На первый взгляд все просто, надо купить переходник MHL или SlimPort, один конец воткнуть в смартфон, а в другой воткнуть HDMI-кабель. На самом деле здесь есть свои подводные камни. Во-первых, смартфон должен явно поддерживать технологию MHL или SlimPort, иначе никакой переходник не заработает, как не заработает переходник MHL, воткнутый в смартофн с поддержкой SlimPort. Во-вторых, некоторые производители смартфонов нарочно делают свою реализацию MHL несовместимой с другими. В результате вполне стандартный MHL-переходник просто не работает и ему на замену приходиться покупать фирменный вчетверо дороже. Одна из таких компаний: Samsung.
Теперь о гашении экрана. Это одна из наиболее удручающих особенностей реализации поддержки HDMI в Android. При подключении к большому экрану основной дисплей будет продолжать показывать картинку что не очень удобно если требуется, например, посмотреть фильм. Отключить такое поведение средствами самого Android не получится, но можно воспользоваться программой Screen Standby, которая принудительно отключает заднюю подсветку экрана, так что можно спокойно смотреть видео, играть в игры или ходить по интернету не отвлекаясь на копию изображения на планшете.
Screen Standby имеет множество весьма полезных настроек, например умение отключать подсветку самостоятельно при втыкании HDMI-кабеля. Для этого достаточно включить опцию “Auto HDMI/MHL Detection” в разделе “HDMI Detection” (там же есть и настройки отключения при запуске приложения или помещения в док). Еще одна очень интересная функция, это перевод планшета в режим тачпада, когда на экране монитора появляется курсор, а экран планшета превращается в большой тачпад. Включается в меню “Settings - Touchpad setting - Use touchpad function”, но у меня эта функция не всегда работает, что предсказуемо, учитывая ограниченную поддержку моделей.
Вместо заключения
Поддержка HDMI в Android не идеальна, однако само ее наличие это прекрасная возможность на время превратить смартфон или планшет в медиасервер. А еще можно потратить 3000 рублей и приобрести мини-ПК, размером со флешку, которую достаточно воткнуть в телевизор чтобы превратить его в Smart TV.