使用 RedLaser 的 3.X SDK getBeepResource() 永远不会被调用。该应用程序可以很好地扫描条形码,但我也想要一个音频哔声。
什么使蜂鸣声?我在 BarcodeScanActivity 类上看不到任何内容。
在 3.0 RedLaser SDK 中,我们删除了 SDK 在扫描条码时播放声音的功能。相反,BarcodeScanActivity 通过 onScanStatusUpdate 方法定期通知其找到的条形码的具体子类。您可以在 SDK 文档中了解此方法。
您可以使用 Android 的 MediaPlayer 对象创建一个播放声音文件的媒体播放器,并在找到新条形码时调用 MediaPlayer.start()。
我们改变它的工作方式的原因与“错误的条形码”问题有很大关系。这是您的应用程序正在寻找特定类型的条形码的地方,但用户将手机放在不同类型的条形码上,因为他们不知道更好。使用 3.0 SDK,您的应用程序可以将 SDK 配置为扫描所有支持的条形码类型,如果用户尝试扫描“错误”类型,您可以在不离开扫描会话的情况下温和地告诉他们。您只需要在结果进入时对其进行评估,并且在看到“正确”条形码类型之前不要退出会话。
此解决方案的副作用是 SDK 不知道哪种条形码类型是“正确”类型,哪些是应用程序想要被告知但实际上不会使用的类型。因此,每次找到条形码时让 SDK 播放哔声是没有意义的。只有在扫描“正确”类型的条形码并且只有应用程序知道那是什么时才应播放哔声。