2014-10-08 53 views
0

我用zxing掃描條碼。但相機掃描真的很快,所以我的方法得到的結果超載。如何減慢速度或延遲掃描條形碼?如何延遲使用zxing庫的相機功能?

這裏是我的結果的方法:

- (void)captureResult:(ZXCapture *)capture result:(ZXResult *)result { 


if (!result) return; 


// We got a result. Display information about the result onscreen. 
NSString *formatString = [self barcodeFormatToString:result.barcodeFormat]; 
NSString *display = [NSString stringWithFormat:@"Scanned!\n\nFormat: %@\n\nContents:\n%@", formatString, result.text]; 



     [self.decodedLabel performSelectorOnMainThread:@selector(setText:) withObject:display waitUntilDone:YES]; 

// Vibrate 

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 



    } 

回答

1

我會建議你使用睡眠功能。嘗試使用睡眠(timeInSeconds),因此它會延遲掃描儀輸入的秒數。

2

您可以記錄NSTimeInterval並拒絕接下來的所有結果。最多每半秒檢測一次的示例:

- (void)captureResult:(ZXCapture *)capture result:(ZXResult *)result { 
    if ([[NSDate date] timeIntervalSince1970] < _nextUpdateTime) { 
    return; 
    } 
    _nextUpdateTime = [[NSDate date] timeIntervalSince1970] + 0.5; 
    // remainder of function. 
}