2015-05-19 104 views
0

奇巧IR SDK API奇巧
http://developer.android.com/reference/android/hardware/ConsumerIrManager.html发送与三星Galaxy S4

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个按钮应该发送给定的模式。我已经用lirc的覆盆子pi从原始遥控器读取这些代码以供我的设备使用。

我的方式发送看起来是这样的(这是十进制的时间值):

1771  821 3499  823  869 

使用LG IR SDK上LG2我能够正确地发送这个数据这一点使用方法上面提到的:

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

我测试发送的数据与LG G2再次在树莓派与lirc和解码值几乎相同的数组在给定的数组。 不幸的是使用上三星Galaxy S4奇巧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

喜彼得,我有同样的问题。我在发送红外命令的商店有一个应用程序,但几乎不可能告诉哪个api可以拨打哪个电话。更糟糕的是,相同手机型号上的相同Android API版本可能对不同用户(ROMS)的工作方式不同......此外,当用户更新手机时,api可能会更改,您的应用现在已经损坏。我真的很喜欢IR apis分散状态的一些明确答案。在论坛上,你会针对不同的api获得“黑客”,但这是不可持续的。 – Pieter

回答