使用以下代码尝试为 Socket 8ci 设置声音开/关...对我来说不太适用。你能建议一个正确的命令吗?正如您在代码中看到的那样,我根据首选项 bool 值设置了声音频率。谢谢!
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);
最佳答案
问题
声音配置设备
声音配置允许您设置 4 种不同的“ Action ”:kSktScanSoundActionTypeGoodScan
、kSktScanSoundActionTypeGoodScanLocal
、kSktSoundActionTypeBadScan
、kSktScanSoundActionTypeBadScanLocal
。 GoodScan
和 BadScan
之间的区别是不言自明的,但是 GoodScan
和 GoodScanLocal
之间的区别不是很大清除。
GoodScanLocal
,默认是扫描条码时发出的声音
GoodScan
仅在主机(例如 Android、iOS、Windows)向扫描器发送 GoodScan 或 BadScan 通知(通过 kSktScanPropIdDataConfirmationDevice
)时发出
Note: If you are using
GoodScan
/BadScan
to verify decoded data, you probably want to change the confirmation mode (seekSktScanPropIdDataConfirmationMode
in the docs). Otherwise the scanner will beep/flash/vibrate twice per scan
您的代码 fragment 所基于的代码 fragment 使用后者来证明音调既可配置又可由主机触发。
您选择一种音调,按下确认按钮,扫描仪就会发出该音调。乍一看不太清楚,但是如果你使用 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
。虽然我不推荐它。
关于android - 为 Socket 设备设置声音配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37933522/