Di aplikasi web saya (bukan aplikasi asli) untuk ponsel, saya ingin mengambil foto dan mengunggahnya, tetapi saya tidak ingin menggunakan Adobe Flash. Apakah ada cara untuk melakukan ini?
Di aplikasi web saya (bukan aplikasi asli) untuk ponsel, saya ingin mengambil foto dan mengunggahnya, tetapi saya tidak ingin menggunakan Adobe Flash. Apakah ada cara untuk melakukan ini?
Jawaban:
Di iPhone iOS6 dan dari Android ICS dan seterusnya, HTML5 memiliki tag berikut yang memungkinkan Anda mengambil gambar dari perangkat Anda:
<input type="file" accept="image/*" capture="camera">
Capture
dapat mengambil nilai seperti kamera, camcorder dan audio.
Saya pikir tag ini pasti tidak akan berfungsi di iOS5, tidak yakin tentang hal itu.
<input type="file" accept="image/*;capture=camera">
. Menurut MDN, tidak ada capture
atribut untuk input
elemen.
capture="camera"
(String) dan yang lebih lama accept="image/*;capture=camera"
telah diganti pada tahun 2012 dengan capture="capture"
(Boolean). Atribut ini digunakan untuk memaksa pengambilan alih-alih memilih dari perpustakaan. Lihat spesifikasi dan Sintaks yang Benar untuk Tangkapan Media HTML
Setidaknya saat ini dengan android relatif mudah. Cukup gunakan tag input file normal dan ketika pengguna mengkliknya ponsel akan bertanya apakah pengguna ingin menggunakan kamera (atau manajer file dll.) Untuk mengunggah file. Ambil saja foto dengan kamera dan secara otomatis akan ditambahkan dan diunggah.
Tidak tahu tentang iphone. Mungkin seseorang bisa mengetahui hal itu. EDIT: Iphone bekerja dengan cara yang sama.
Contoh dari tag input:
<input type="file" accept="image/*" capture="camera">
multiple
berfungsi baik di Android dan iOS, lihat Sintaks yang Benar untuk
Untuk memperbarui ini, standarnya sekarang adalah:
<input type="file" name="image" accept="image/*" capture="environment">
untuk mengakses kamera (belakang) yang menghadap lingkungan, dan
<input type="file" name="image" accept="image/*" capture="user">
untuk kamera (depan) yang menghadap pengguna. Untuk mengakses video, gantikan "video" dengan "image" dalam nama.
Diuji pada iPhone 5c, menjalankan iOS 10.3.3, firmware 760, berfungsi dengan baik.
Safari & Chrome di iOS 6+ dan Android 2.2+ mendukung HTML Media Capture yang memungkinkan Anda mengambil gambar dengan kamera perangkat Anda atau memilih yang sudah ada:
<input type="file" accept="image/*">
Begini cara kerjanya di iOS 10:
Android 3.0+ dan Safari di iOS10.3 + juga mendukung capture
atribut yang digunakan untuk melompat langsung ke kamera.
<input type="file" accept="image/*" capture>
capture="camera"
(String) dan accept="image/*;capture=camera"
(Parameter) adalah bagian dari spesifikasi lama dan digantikan oleh capture
(Boolean) Rekomendasi Kandidat W3C.
Dokumentasi dukungan: buku O'Reilly 2013 ini dan pengujian saya
capture
bukan capture="camera"
. Ingin tahu apa perangkat & versi Android.
baik, ada fitur HTML5 baru untuk mengakses kamera perangkat asli - "getUserMedia API"
CATATAN: HTML5 dapat menangani pengambilan foto dari halaman web di perangkat Android (setidaknya pada versi terbaru, dijalankan oleh OS Honeycomb; tetapi tidak dapat mengatasinya di iPhone kecuali iOS 6).
Anda dapat menggunakan WEBRTC tetapi sayangnya itu tidak didukung oleh semua browser web. DI BAWAH INI ADALAH Tautan UNTUK MENUNJUKKAN YANG BROWSER mendukungnya http://caniuse.com/stream
Dan tautan ini memberi Anda gambaran tentang bagaimana Anda dapat mengaksesnya (kode sampel). http://www.html5rocks.com/en/tutorials/getusermedia/intro/
getUserMedia
berlebihan, <input type="file" accept="image/*">
akan melakukan trik.
AppMobi HTML5 SDK pernah menjanjikan akses ke fungsionalitas perangkat asli - termasuk kamera - dari aplikasi berbasis HTML5, tetapi tidak lagi milik Google. Alih-alih, coba jawaban berbasis HTML5 di pos ini .
Anda ingin menggunakan getUserMedia untuk mengakses kamera.
Tutorial ini menguraikan dasar-dasar mengakses kamera perangkat dari browser: https://medium.com/@aBenjamin765/make-a-camera-web-app-tutorial-part-1-ec284af8dddf
Catatan: Ini berfungsi pada sebagian besar perangkat Android, dan hanya di iOS di Safari.
Perlu dicatat bahwa fitur keamanan telah diterapkan yang mengharuskan aplikasi dijalankan secara lokal di bawah localhost, atau melalui SSL agar GetUserMedia () berfungsi.
Saya menemukan ini ketika mencoba beberapa demo yang tersedia dan kecewa ketika mereka tidak bekerja! Lihat: Pembatasan Keamanan Baru
Saya rasa Anda tidak bisa - ada draft API W3C untuk mendapatkan audio atau video, tetapi belum ada implementasi pada salah satu OS seluler utama.
Terbaik kedua Satu-satunya pilihan adalah mengikuti saran Dennis untuk menggunakan PhoneGap. Ini berarti Anda harus membuat aplikasi asli dan menambahkannya ke toko aplikasi / pasar seluler.
Saya tidak tahu cara apa pun untuk mengakses kamera ponsel dari browser web tanpa mekanisme tambahan (mis. Flash atau beberapa jenis wadah yang memungkinkan akses ke API perangkat keras)
Untuk yang terakhir lihat di PhoneGap: http://docs.phonegap.com/phonegap_camera_camera.md.html
Dengan ini, Anda harus dapat mengakses kamera setidaknya di perangkat berbasis iOS dan Android.