2011-12-28 28 views
5

Tôi đang làm việc trên một ứng dụng mà người dùng có thể chọn nếu anh ta muốn quét mã vạch hoặc chụp ảnh một thứ gì đó. Để chụp ảnh, tôi đang sử dụng UIImagePickerController như bình thường. Để quét mã vạch, tôi đang sử dụng ZbarSDK 1.2 ZBarReaderViewController.Máy ảnh iPhone mất tự động lấy nét khi sử dụng ZBarSDK

Khi chụp ảnh, mọi thứ hoạt động hoàn hảo. Khi quét mã vạch: Nếu bạn khởi động ứng dụng và quét mã vạch trước khi chụp ảnh, nó cũng hoạt động hoàn hảo.

Nhưng bạn có chụp ảnh không, sau đó quay lại và thử quét mã vạch, máy ảnh sẽ mất tiêu điểm tự động và không thể quét mã vạch.

Để tóm tắt:
Start -> Scan ->Tự động lấy nét làm việc
Start -> Chụp ảnh -> Trở lại -> Scan ->tự động lấy nét không làm việc

Đây là cách tôi khởi tạo máy quét mã vạch:

-(ZBarReaderViewController *) barcodeScanner 
{ 
    if (nil == _barcodeScanner) 
    { 
     _barcodeScanner = [ZBarReaderViewController new]; 
     _barcodeScanner.readerDelegate = self; 
     _barcodeScanner.cameraMode = ZBarReaderControllerCameraModeSampling; 
     _barcodeScanner.sourceType = UIImagePickerControllerSourceTypeCamera; 
    } 
    return _barcodeScanner; 
} 

Bất kỳ ý tưởng nào?

Trả lời

4

Trước khi tải lên ZBarReaderViewController chắc chắn rằng bạn phát hành UIImagePickerController, và trước khi bạn tải lên UIImagePickerController chắc chắn rằng bạn phát hành ZBarReaderViewController.

Tôi mất nhiều ngày để tìm ra lý do tại sao tôi tiếp tục mất khả năng tập trung và chỉ ra rằng tôi đã không phát hành mọi thứ. Đối với những người khác vấp vào câu trả lời này ... Bạn chỉ có thể có 1 AVCaptureSession tại một thời điểm nếu không mọi thứ trở nên khó khăn và bạn mất khả năng tập trung. ZBarReaderViewController sử dụng AVCaptureSession để chắc chắn rằng bạn phát hành nó trước khi bạn khởi tạo một AVCaptureSession mới.

+1

Tôi sẽ cố gắng ... Tôi đã đến hòa bình với thực tế là tôi sẽ không nhận được câu trả lời cho điều này ... –

0

Tôi sẽ xem xét kỹ hơn việc triển khai ảnh của bạn. Hãy thử kiểm tra xem bạn có đóng tài nguyên chính xác khi thực hiện chụp ảnh hay không. Tôi không nghĩ rằng thực hiện zBar có bất cứ điều gì để làm với nó ...

+0

Vấn đề là - Tôi không có triển khai "Chụp ảnh" ... Tôi chỉ đang khởi tạo UIImagePickerController, trình bày nó một cách bình thường và nhận được cuộc gọi lại khi ảnh được chụp. Tôi không tự mình làm bất kỳ thứ gì lạ mắt. –

1

Chúng tôi đã gặp vấn đề tương tự với Zbar, chúng tôi đã giải quyết vấn đề này bằng cách đặt thời gian trễ là 2 giây trước khi loại bỏ chế độ xem mô hình.

Các vấn đề liên quan