我在我的iPhone应用程序中成功使用了ZBarSDK。唯一的问题是:有时扫描仪无法读取条形码。我没有找到如何设置超时(如果代码栏不能被读取5秒,中止扫描)。ZBar iPhone,设置超时时间
是否有隐藏的选项?或者一个诡计?
在此先感谢您的帮助。
我在我的iPhone应用程序中成功使用了ZBarSDK。唯一的问题是:有时扫描仪无法读取条形码。我没有找到如何设置超时(如果代码栏不能被读取5秒,中止扫描)。ZBar iPhone,设置超时时间
是否有隐藏的选项?或者一个诡计?
在此先感谢您的帮助。
@le_jax的ZBarSDk被配置为特定的一组符号如所述here
“zbar和是一个开放源码软件套件从各种来源,如视频流,图像文件和原始强度读取条形码传感器,支持包括EAN-13/UPC-A,UPC-E,EAN-8,Code 128,Code 39,Interleaved 2 of 5和QR Code在内的许多流行的符号系统(条码类型)“
您可以使用网络资源(如this)来测试应用程序的功能。
什么你在这里查询作为要么你没有设置所需的符号
[scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0];
什么关系构设置点。您可以从zbar.h(ZBar SDK的一部分)检查一整套支持的符号系统。
typedef enum zbar_symbol_type_e {
ZBAR_NONE = 0, /**< no symbol decoded */
ZBAR_PARTIAL = 1, /**< intermediate status */
ZBAR_EAN2 = 2, /**< GS1 2-digit add-on */
ZBAR_EAN5 = 5, /**< GS1 5-digit add-on */
ZBAR_EAN8 = 8, /**< EAN-8 */
ZBAR_UPCE = 9, /**< UPC-E */
ZBAR_ISBN10 = 10, /**< ISBN-10 (from EAN-13). @since 0.4 */
ZBAR_UPCA = 12, /**< UPC-A */
ZBAR_EAN13 = 13, /**< EAN-13 */
ZBAR_ISBN13 = 14, /**< ISBN-13 (from EAN-13). @since 0.4 */
ZBAR_COMPOSITE = 15, /**< EAN/UPC composite */
ZBAR_I25 = 25, /**< Interleaved 2 of 5. @since 0.4 */
ZBAR_DATABAR = 34, /**< GS1 DataBar (RSS). @since 0.11 */
ZBAR_DATABAR_EXP = 35, /**< GS1 DataBar Expanded. @since 0.11 */
ZBAR_CODE39 = 39, /**< Code 39. @since 0.4 */
ZBAR_PDF417 = 57, /**< PDF417. @since 0.6 */
ZBAR_QRCODE = 64, /**< QR Code. @since 0.10 */
ZBAR_CODE93 = 93, /**< Code 93. @since 0.11 */
ZBAR_CODE128 = 128, /**< Code 128 */
/** mask for base symbol type.
* @deprecated in 0.11, remove this from existing code
*/
ZBAR_SYMBOL = 0x00ff,
/** 2-digit add-on flag.
* @deprecated in 0.11, a ::ZBAR_EAN2 component is used for
* 2-digit GS1 add-ons
*/
ZBAR_ADDON2 = 0x0200,
/** 5-digit add-on flag.
* @deprecated in 0.11, a ::ZBAR_EAN5 component is used for
* 5-digit GS1 add-ons
*/
ZBAR_ADDON5 = 0x0500,
/** add-on flag mask.
* @deprecated in 0.11, GS1 add-ons are represented using composite
* symbols of type ::ZBAR_COMPOSITE; add-on components use ::ZBAR_EAN2
* or ::ZBAR_EAN5
*/
ZBAR_ADDON = 0x0700,
} zbar_symbol_type_t;
我不太清楚,如果有什么事情,如超时周期,以检查是否zbar和不能deccode符号,但是是为确保您有委托方法来利用
- (void) readerView: (ZBarReaderView*) readerView didReadSymbols: (ZBarSymbolSet*) symbols
fromImage: (UIImage*) image;
我可以建议的(issue我之前遇到过,在我第二次来到扫描仪屏幕时我无法扫描代码),您可以按照SDK中提供的示例重新配置SDK,或者您可以确认支持的符号(如果你试图解码一些不支持的格式)。
如果您遇到任何标准方法来设置超时期限,请分享到SO。
干杯!
感谢您的回答。我的问题不是“代码没有被识别,也没有我想要读取的符号”,但是“代码被打印到不好的事件读取它,停止尝试,我会手动输入”。但是手动干预是最好的方式。 –