【问题标题】:Sending infrared pattern with KitKat API on Samsung Galaxy S4在三星 Galaxy S4 上使用 KitKat API 发送红外模式
【发布时间】:2015-05-19 15:25:39
【问题描述】:

KitKat IR sdk
http://developer.android.com/reference/android/hardware/ConsumerIrManager.html

LG IR sdk
http://developer.lgmobile.com/MOBILE_HELP/topic/lge.mobilesdk.LGQRemote.api/Documents/reference/com/lge/hardware/IRBlaster/IRBlaster1.htm#sendIRPattern(int, int[])

我正在开发使用红外线发射器的安卓应用程序。有 2 个按钮应该发送给定的 ir 模式。我已经使用带有 lirc 的树莓派从我的设备的原始遥控器读取这些代码。

我要发送的模式如下所示(它是十进制持续时间值):

1771     821    3499     823     869

LG2 上使用 LG IR sdk 我可以使用上述方法正确发送此数据:

int frequency=38000;
int[] rawCodes=new int[]{1771,821,3499,823,869};
mIR.sendIRPattern(frequency, rawCodes);

我再次在带有 lirc 的树莓派上使用 LG G2 测试了发送的数据,解码后的值与给定数组中的值几乎相同。 不幸的是,在 Samsung Galaxy S4 上使用 KitKat sdk ConsumerIrManager:

int frequency=38000;
int[] rawCodes=new int[]{1771,821,3499,823,869};
irManager.transmit(frequency,rawCodes);

发送的数据与我预期的不同。使用 lirc 读取三星发送的数据看起来有时接收到的数据是正确的,但有时会有完全不同的值(比如 2 个相当大的值)。你们知道我做错了什么吗?据我所知,LG sdk 和 Kitkat sdk 方法之间没有区别,所以我不知道为什么这两款手机有时会发送不同的信号。

【问题讨论】:

  • 嗨,Piotr,我也有同样的问题。我在商店里有一个发送 IR 命令的应用程序,但几乎不可能知道在哪部手机上调用哪个 api。更糟糕的是,同一手机型号上的相同 Android api 版本可能对不同用户 (ROMS) 的工作方式不同......此外,当用户更新他的手机时,api 可能会更改,您的应用程序现在已损坏。我真的很想对 IR api 的碎片状态给出一些明确的答案。在论坛上,您会获得针对不同 api 的“黑客”,但这是不可持续的。

标签: android android-4.4-kitkat samsung-mobile infrared


【解决方案1】:

我正在考虑自己做这个,所以我还没有尝试过,但这似乎是你正在寻找的(Android API): http://developer.android.com/reference/android/hardware/ConsumerIrManager.html

【讨论】:

  • James 我正在使用这个 Android API,但它看起来不像我在第一篇文章中描述的那样工作。生成的波形有很多问题,而且不可重复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
  • 1970-01-01
  • 2013-10-30
  • 2013-05-31
  • 2014-02-28
  • 1970-01-01
相关资源
最近更新 更多