2013-03-22 38 views
17

Tôi đang sử dụng dòng mã dưới đây để gọi máy ảnh từ ứng dụng web của mình.Chụp ảnh bằng thẻ đầu vào Html5

<input type="file" id="capture" accept="image/*; capture=camera" style="visibility:hidden;"> 

Sử dụng tính năng này, tôi có thể hiển thị tùy chọn "Chọn ảnh hiện có" và "Chụp ảnh" khi ứng dụng được mở trong iOS6. Nhưng tôi muốn mở máy ảnh trực tiếp thay vì sau đó nhận được cửa sổ này lên và sau đó chọn "Take Picture" tùy chọn.

Xin cảm ơn trước.

+0

bạn có thể gửi phần còn lại của mã nơi bạn có thể chụp ảnh, vv – btevfik

+0

mã được sử dụng để chụp ảnh là:

loại Trong JS Tệp: chức năng onClickTake() { \t $ (" # capture "). nhấp(); \t } –

+0

Có cách nào để tôi có thể sửa đổi ngay cả các tùy chọn xuất hiện trong cửa sổ bật lên trong iOS6 Ví dụ: tùy chọn chúng tôi nhận được trong cửa sổ bật lên là "Chọn hiện tại", "Chụp ảnh hoặc quay video" và "Hủy". Nếu tôi chỉ muốn tùy chọn "Chụp ảnh", làm cách nào tôi có thể hiển thị một mình trong cửa sổ bật lên –

Trả lời

1

Tôi sợ điều này không thể theo đặc điểm kỹ thuật vì lý do an ninh/riêng tư:

Các user agent KHÔNG NÊN cho phép bất kỳ thiết bị để chụp phương tiện truyền thông, chẳng hạn như micrô hoặc máy ảnh, cho đến khi một người sử dụng tương tác cho phép đồng ý ngầm được hoàn thành.

http://www.w3.org/TR/capture-api/#security

Một cách khác là sử dụng getUserMedia. Điều này vẫn cho thấy một hộp thoại yêu cầu sự cho phép của người dùng nhưng trong một số trình duyệt người dùng có thể chọn ẩn nó sau khi cấp quyền truy cập vào một miền.

+1

getUserMedia không hoạt động trên iOs và nó là một nỗi đau trong ... – MrVinz

9
<input type="file" name="file" accept="image/*" capture="camera" /> 

Hoạt động trong Chrome trên Android (ít nhất).

+1

Nó hoạt động trong trình duyệt Chrome trên Android. Tại sao nó không hoạt động trên trình duyệt gốc của Android? – Anup

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