ConsumerIrManager与不同制造商的工作方式不同

时间:2019-06-14 12:26:03

标签: android bluetooth-lowenergy

我需要使用内置的IR blaster向BLE设备发送特定的图案。

为此,我使用的是Android SDK中的ConsumerIrManager,但是我注意到了奇怪的行为。我有Xiaomi Redmi Note 7(Android 9)和Samsung Galaxy S6(Android 8),并且应用程序具有minSdk 21,因此在KitKat之前无需担心问题。

问题在于,相同的有效载荷会产生不同的波形。

模式定义如下:

new int[] { 1800, 1800, 900, 900, 900, 900, 900, 900, 1800, 1800, 1800, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900 };

数字表示每个开/关信号的持续时间(以毫秒为单位)。

现在,对于小米来说,解码后的信号看起来像这样:

Xiaomi decoded signal

这正是数组所说的(较长的部分为1800,较短的部分为900(同时计算低点和高点))。

现在,在三星上,解码信号的开始看起来还不错,但是过了一段时间,由于某种原因,它开始做自己的事情。

Samsung decoded signal

如您所见,直到最后3位(绿色的001)看起来还不错,但是随后发生了一些事情,并且开始发出我在数组中未定义的内容。

此外,我已经在华为上测试了相同的东西,它发出的东西不同于这两种设备。

我是否缺少有关ConsumerIrManager行为的信息,还是每个制造商都必须拥有不同的有效负载?

0 个答案:

没有答案