Honeywell サポートから解決策を受け取りました。このソリューションは LineaPro API ほど優れたものではありません。音の周波数と持続時間のバイト ストリームを送信できないからです。
テクニカル サポートからのスニペットを次に示します。
「Captuvo に同じタイプの機能を追加するような今後の SDK はありません。SDK パススルー モードを使用して、ビープ コマンドを Captuvo スキャナのビープ音に直接送信することができると思います。重要な部分は、その方法を理解することです。 to use pass through mode. There should be some documentation in the help file, but I can try to describe here. パス スルー モードを使用する場合、Captuvo スキャナでサポートされている任意のファームウェア コマンドを送信できます. スキャナをビープ音またはrazz ファームウェア コマンド [syn]M[cr]bepexe1. を送信すると、良好な読み取りビープ音が鳴り、[syn]M[cr]bepexe4. が RAZZ トーンになります. これらのコマンドの文字列を送信して、サウンドを何かに変更できます。さまざまな状況でユニークです。」
コードスニペットを次に示します。パススルー機能を介して送信するメニュー コマンドは、[syn]M[cr]bepexe1 のようになります。[syn]M[cr]bepexe4.
[syn] は 16 進値 16 です。M は 16 進値 4D で、[cr] は 16 進値 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 デバイスから検出できる音の高さは 2 つだけだと思います。
// 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];