Cec s 03:Android和 HDMICEC

我正在使用带有 Android 版本 4.4.4 的 PlugPC(计算棒),将其连接到电视的 HDMI 端口以控制电视上显示的内容。我的应用程序在启动时启动,控制屏幕。现在通过我的应用程序,我想控制电视音量和源开关(也许)。我在这方面有以下问题:

有没有办法通过 Android 使用 Java 发送 HDMI-CEC 命令来控制电视音量,打开 / 关闭等这些电视兼容?

Android 提供的任何 Java 库或以其他方式提供相同的?

一个使用 CEC 的简单 Java 示例。

P.S-我理解(https://source.android.com/devices/tv/HDMI-CEC.html)中提出的理论,但对如何用代码实现一无所知。

9

是的,完全有可能做到,但是令人难以置信善变。HDMI CEC 的工作原理就像总线。通常,在两个方向上。

您的问题:

是的。虽然我使用 JNI 来访问执行实际工作的本机代码。你可能能够纯粹在 Java 中做到这一点。

可能不是。问题是每个供应商都实现了发送 CEC 信号的代码。除了 CEC 命令本身之外,根本没有通用功能。访问的设备文件在大多数设备中可能是唯一的,尤其是从供应商到供应商。因此,创建的任何库都最支持各种不同的供应商及其怪癖,并且将来不会针对下一个供应商的更改进行验证。

不幸的是,我无法提供我的工作代码。我在 github 上提供了一个 Amlogic 源文件的链接,它做了很多工作。我的代码看起来很相似。

我自己的一些观点:

并非所有设备都支持所有命令。许多较少使用的命令将无法实现,因为它的成本更高。

与 CEC 的交互通常取决于供应商。他们可能有自己的库或设备文件。

CEC 并不总是双向工作,这取决于供应商是否实现了该功能。它并不总是实现的,因为它的成本更高。

要正确地执行它,您可能需要使用 JNI 来实现您的代码以形成正确的数据包。您可能find this useful,至少对于 Amlogic 而言。

我在设备中使用的设备接入点是/dev/amhdmitx0。您可以将格式良好的数据包发送到该位置。

这是一个有用的网站,可以告诉您如何形成 CEC 命令:http://www.cec-o-matic.com/

不幸的是,出于各种法律原因,我不能分享更多我写的东西。

你能做的最好的事情就是向你正在编程的供应商寻求帮助。如果你正在为一个特定的平台编码。他们可能愿意帮助你。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(158)
魔兽战役地图放在哪个文件夹:AndroidStudio中的“资产”文件夹放在哪里
上一篇
安卓手机怎么玩ios的光遇:安卓手机怎么连接远程机:(remote access your android phone)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(32条)