Ответ 1
Да, это возможно, но это невероятно непостоянно. HDMI CEC работает как автобус. Обычно в обоих направлениях.
Ваши вопросы:
- Да. Хотя я использую JNI для доступа к собственному коду, который выполняет фактическую работу. Вы могли бы сделать это исключительно на Java.
- Наверное, нет. Проблема в том, что каждый поставщик реализует код для отправки сигналов CEC. Общей функциональности вообще нет, кроме самих команд ЦИК. Доступ к файлу устройства, вероятно, уникален для большинства устройств, особенно от поставщика к поставщику. Таким образом, любые созданные библиотеки наиболее поддерживают широкий спектр разных поставщиков и их причуды, и это не будет защищено будущим будущим от изменений в вендоре.
- К сожалению, я не могу предоставить свой рабочий код. Я предоставляю ссылку ниже в исходный файл Amlogic на github, который выполняет большую часть работы. Мой код похож.
Некоторые из моих собственных моментов:
- Не все устройства поддерживают все команды. Многие менее используемые команды не будут реализованы, потому что они стоят дороже.
- Взаимодействие с ЦИК часто зависит от поставщика. У них, вероятно, будет своя собственная библиотека или файл устройства для работы.
- CEC не всегда будет работать в обоих направлениях, зависит от того, реализовал ли поставщик эту функциональность. Это не всегда реализуется, потому что это стоит больше.
Чтобы сделать это правильно, вам, скорее всего, понадобится реализовать свой код с помощью JNI для формирования правильных пакетов. Вы можете найти это полезное, по крайней мере для Amlogic.
Точка доступа устройства, которую я использую в своих устройствах, /dev/amhdmitx0
. Вы можете отправить свои хорошо сформированные пакеты в это место.
Вот полезный сайт, который может рассказать вам, как сформировать команду CEC: http://www.cec-o-matic.com/.
К сожалению, я не могу поделиться гораздо больше, чем с тем, что я написал. По различным правовым причинам.
Лучшее, что вы можете сделать, это обратиться за помощью к поставщику, для которого вы программируете. Если вы кодируете определенную платформу. Они могут помочь вам.