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 [])
我正在开发使用红外发射器的android应用程序。有2个按钮应该发送给予ir模式。我已经使用带有lirc的raspberry pi来从我的设备的原始遥控器中读取这些代码。
我要发送的模式如下(它的十进制持续时间值):
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在raspberry pi上再次使用LG G2发送数据,并且解码值与给定数组中的值几乎相同。 不幸的是在三星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方法没有区别,所以我不知道为什么这两款手机有时会发出不同的信号。
答案 0 :(得分:0)
我正在考虑自己这样做,所以我还没有尝试过,但这似乎是你正在寻找的(Android API): http://developer.android.com/reference/android/hardware/ConsumerIrManager.html