gpt4 book ai didi

Android 和 HDMI CEC

转载 作者:IT老高 更新时间:2023-10-28 23:15:00 25 4
gpt4 key购买 nike

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

  1. 有没有办法通过 android 发送 HDMI-CEC 命令,使用 Java 来控制兼容电视的电视音量、开关等?

  2. 任何由 android 提供的 Java 库或可用于相同的 Java 库?

  3. 使用 CEC 的简单 Java 示例。

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

最佳答案

是的,这是完全可以做到的,但是难以置信 善变。 HDMI CEC 像总线一样工作。通常是双向的。

您的问题:

  1. 是的。虽然我使用 JNI 来访问执行实际工作的 native 代码。您可能可以完全用 Java 完成。
  2. 可能不会。问题是每个供应商都实现了发送 CEC 信号的代码。除了 CEC 命令本身之外,根本没有通用功能。访问的设备文件在大多数设备中可能是唯一的,尤其是从供应商到供应商。因此,任何创建最多的库都支持广泛的不同供应商及其怪癖,并且不会在未来针对下一次供应商更改进行验证。
  3. 很遗憾,我无法提供我的工作代码。我在下面提供了一个链接,指向 github 上的 Amlogic 源文件,该文件做了很多工作。我的代码看起来很相似。

我自己的一些观点:

  1. 并非所有设备都支持所有命令。许多较少使用的命令将不会实现,因为它的成本更高。
  2. 与 CEC 的交互通常取决于供应商。他们可能会使用自己的库或设备文件。
  3. CEC 并不总是双向工作,这取决于供应商是否实现了该功能。它并不总是实现,因为这样做的成本更高。

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

我在设备中使用的设备访问点是 /dev/amhdmitx0。您可以将格式正确的数据包发送到该位置。

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

不幸的是,我无法分享我所写的更多内容。出于各种法律原因。

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

关于Android 和 HDMI CEC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39420067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com