2010-09-09 53 views
5

Ứng dụng hiện tại tôi đang sử dụng có chức năng chính để quét mã QR/Bar liên tục sử dụng thư viện Zxing (http://code.google.com/p/zxing/). Để chụp liên tục, tôi đã sử dụng để khởi tạo AVCaptureSession và AVCaptureVideoOutput, AVCaptureVideoPreviewLayer được mô tả trong apple Q & A http://developer.apple.com/iphone/library/qa/qa2010/qa1702.html.Lớp xem trước máy ảnh của Quỹ AV được phóng to, cách thu nhỏ?

Vấn đề của tôi là khi tôi chạy xem trước máy ảnh, hình ảnh tôi có thể xem qua thiết bị Video lớn hơn nhiều (1.5x) so với hình ảnh mà chúng ta có thể thấy qua camera tĩnh của iPhone. Khách hàng của chúng tôi cần giữ iPhone khoảng 5cm từ mã vạch khi anh ta đang quét, nhưng nếu bạn giữ iPhone với thông số đó, toàn bộ mã QR sẽ không hiển thị và giải mã không thành công. Tại sao máy quay video trong iPhone 4 phóng to hình ảnh (bằng cách xem qua AVCaptureVideoPreviewLayer)?.

Trả lời

4

Tôi đang trả lời câu hỏi của riêng mình một lần nữa. Điều này đã không được trả lời ngay cả trong diễn đàn Apple Dev, do đó tôi trực tiếp gửi yêu cầu hỗ trợ kỹ thuật từ Apple và họ đã trả lời rằng đây là sự cố đã biết và sẽ được khắc phục và phát hành với phiên bản tương lai. Vì vậy, không có gì chúng ta có thể làm nhiều hơn là chờ xem.

+0

Có may mắn về điều này không? – user281300

5

Bạn thấy hành vi tương tự với ứng dụng iPhone Camera tích hợp. Chuyển đổi giữa chế độ chụp tĩnh và quay video và bạn sẽ nhận thấy rằng mức thu phóng mặc định thay đổi. Bạn sẽ thấy chế độ xem rộng hơn ở chế độ tĩnh, trong khi chế độ video sẽ phóng to một chút.

Tôi đoán là quay video liên tục cần sử dụng một vùng nhỏ hơn của cảm biến máy ảnh để hoạt động tối ưu. Nếu nó sử dụng toàn bộ cảm biến có lẽ hệ thống không thể duy trì 30 khung hình/giây. Sử dụng một khu vực nhỏ hơn của cảm biến cho hiệu ứng "phóng to" tới hiện trường.

13

Đây là chức năng của cài đặt trước video AVCaptureSession, có thể truy cập được bằng cách sử dụng thuộc tính .sessionPreset. Ví dụ, sau khi cấu hình captureSession của bạn, nhưng trước khi bắt đầu nó, bạn sẽ thêm

captureSession.sessionPreset = AVCaptureSessionPresetPhoto; 

Xem tài liệu ở đây:

iOS Reference Document

Các cài sẵn mặc định cho video là 1280x720 (tôi nghĩ) là độ phân giải thấp hơn so với độ phân giải tối đa được máy ảnh hỗ trợ. Bằng cách sử dụng cài đặt trước "Ảnh", bạn sẽ nhận được dữ liệu máy ảnh thô.

+0

Chúc mừng, ban đầu tôi đã đặt cài đặt phiên trong khối khi chụp ảnh. Vì vậy, hình ảnh đầu tiên luôn luôn lớn hơn. –

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