我收到了霍尼韦尔支持的解决方案。该解决方案不如 LineaPro API 好,因为您无法向其发送声音频率和持续时间的字节流。
这是来自技术支持的片段。
“我们没有任何即将推出的 SDK 可以为 Captuvo 添加相同类型的功能。我认为您可以做的是使用 SDK 直通模式直接向 Captuvo 扫描仪的蜂鸣器发送蜂鸣命令。重要的部分是了解如何使用直通模式。帮助文件中应该有一些文档,但我可以在这里尝试解释。使用直通模式时,您可以发送 Captuvo 扫描仪支持的任何固件命令。如果您想让扫描仪发出哔声或razz 您可以发送固件命令 [syn]M[cr]bepexe1. 以获得良好的读取蜂鸣声和 [syn]M[cr]bepexe4. 以获得 RAZZ 音调。您可以发送这些命令的字符串以将声音更改为独特的各种情况。”
这是一个代码片段。通过传递功能发送的菜单命令如下:[syn]M[cr]bepexe1。[syn]M[cr]bepexe4.
[syn] 是十六进制值 16。M 是十六进制值 4D,[cr] 是十六进制值 0D。
const Byte msg[]= {0x16,0x4d,0x0d,'B','E','P','E','X','E','1'.'};
NSData* msgData = [NSMutableData dataWithBytes:&msg length:sizeof(msg)]; [[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData expectingReturnData:YES];
这是我的替代声音代码实现的简短片段。我认为我只能从 Honeywell 设备中找到两个音高。
// 1 = 良好的哔声 // 4 = 刺耳的哔声
const Byte msg1[]= {0x16,0x4d,0x0d,'B','E','P','E','X','E','1','.'};
NSData* msgData1 = [NSMutableData dataWithBytes:&msg1 length:sizeof(msg1)];
const Byte msg4[]= {0x16,0x4d,0x0d,'B','E','P','E','X','E','4','.'};
NSData* msgData4 = [NSMutableData dataWithBytes:&msg4 length:sizeof(msg4)];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData1 expectingReturnData:YES];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData4 expectingReturnData:YES];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData1 expectingReturnData:YES];
[[Captuvo sharedCaptuvoDevice]decoderPassThrough:msgData4 expectingReturnData:YES];