设置Socket设备的声音配置

时间:2016-06-20 23:47:54

标签: android ios socketscan

使用以下代码尝试为Socket 8ci设置声音开启/关闭......对我来说不太合适。你能建议一个合适的命令吗?正如您在代码中看到的,我根据首选项布尔值设置了声音频率。谢谢!

DeviceInfo device = (DeviceInfo) _scanApiHelper.getDevicesList().lastElement();
short[] soundConfig = new short[3];
// default the sound to On
if(getBRSharedPreferenceBoolean(PreferencesActivity.PREF_SOCKET_SCANNER_BEEP, true)) {
    soundConfig[0] = ISktScanProperty.values.soundFrequency.kSktScanSoundFrequencyHigh;
} else {
    soundConfig[0] = ISktScanProperty.values.soundFrequency.kSktScanSoundFrequencyNone;
}
soundConfig[1] = 200;
soundConfig[2] = 100;

// set the scanner sound config
_scanApiHelper.postSetSoundConfigDevice(
        device,
        ISktScanProperty.values.soundActionType.kSktScanSoundActionTypeGoodScan,
        soundConfig,
        _onSetScanApiConfiguration);

1 个答案:

答案 0 :(得分:1)

问题

声音配置设备

声音配置允许您设置4种不同的"操作":kSktScanSoundActionTypeGoodScankSktScanSoundActionTypeGoodScanLocalkSktScanSoundActionTypeBadScankSktScanSoundActionTypeBadScanLocalGoodScanBadScan之间的差异不言自明,但GoodScanGoodScanLocal之间的差异并不明显。

默认情况下,

GoodScanLocal是扫描条形码时发出的声音

GoodScan仅在主机(例如Android,iOS,Windows)向扫描仪发送GoodScan或BadScan通知(通过kSktScanPropIdDataConfirmationDevice)时发出

  

注意:如果您使用GoodScan / BadScan来验证解码数据,则可能需要更改确认模式(请参阅文档中的kSktScanPropIdDataConfirmationMode)。否则扫描仪将每次扫描发出两次哔声/闪烁/振动

您的代码段所基于的代码段使用后者来证明该音调既可配置又可由主机触发。

您选择了一个音,点击确认按钮,扫描仪发出该音。乍一看并不清楚,但如果你使用SingleEntry中的下拉菜单改变音调并点击确认,则三种音调非常明显。但是,如果使用相同的下拉菜单更改音调,则扫描条形码时听到的音调不应更改。

解决方案

实现您要实现的目标的最佳和最简单的方法是在禁用蜂鸣声的情况下设置本地解码操作

本地解码操作

// import static com.socketmobile.scanapi.ISktScanProperty.values.localDecodeAction.*;

DeviceInfo device = (DeviceInfo) _scanApiHelper.getDevicesList().lastElement();
int decodeAction = kSktScanLocalDecodeActionFlash | kSktScanLocalDecodeActionRumble;
if(getBRSharedPreferenceBoolean(PreferencesActivity.PREF_SOCKET_SCANNER_BEEP, true)) {
    decodeAction |= kSktScanLocalDecodeActionBeep;
}
_scanApiHelper.postSetDecodeAction(device, decodeAction)

为了完整起见,要使用您发布的代码获得类似的结果,您只需将kSktScanSoundActionTypeGoodScan更改为kSktScanSoundActionTypeGoodScanLocal即可。虽然我不推荐它。