Отправка инфракрасного шаблона с помощью KitKat API на Samsung Galaxy S4
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, int[])
Я разрабатываю приложение для Android, которое использует инфракрасный передатчик. Есть 2 кнопки, которые должны послать данный шаблон. Я использовал raspberry pi с lirc для чтения этих кодов с оригинального пульта для моего устройства.
Мой шаблон для отправки выглядит так (это значения десятичной длительности):
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 на Raspberry Pi с lirc, и декодированные значения практически идентичны значениям в данном массиве. К сожалению, используя KitKat SDK ConsumerIrManager на Samsung Galaxy S4:
int frequency=38000;
int[] rawCodes=new int[]{1771,821,3499,823,869};
irManager.transmit(frequency,rawCodes);
Отправленные данные отличаются от ожидаемых. Считывание данных, отправленных samsung с lirc, похоже, что иногда полученные данные верны, но иногда существуют совершенно разные значения (например, 2 довольно больших значения). Ребята, вы знаете, что я делаю не так? Насколько я знаю, нет никакой разницы между методами LG SDK и Kitkat SDK, поэтому я не знаю, почему эти 2 телефона иногда посылают разные сигналы.
1 ответ
Я размышляю над тем, чтобы сделать это сам, поэтому я еще не пробовал, но, похоже, это то, что вы ищете (Android API): http://developer.android.com/reference/android/hardware/ConsumerIrManager.html