2015-05-19 165 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

回答