Pertanyaan Masukan file Polyfill dengan pengambilan terima (menggunakan getUserMedia untuk menangkap?)


Saya ingin mengaktifkan unggahan (& audio & video) dalam kerangka survei. Untuk melakukannya, file input hampir cukup untuk tujuan saya.

Di beberapa browser seluler <input type="file" accept="image/*;capture=camera"> benar-benar cara sederhana membiarkan pengguna memilih untuk mengunggah gambar yang ada atau ke ambil yang baru. Tentu saja UI untuk melihat dan memilih di antara gambar-gambar disediakan juga.

Peramban desktop tidak mengikuti rute ini. Sebaliknya, beberapa hal yang cukup bagus tampaknya menjadi mungkin menggunakan getUserMedia().
Saya tidak menemukan contoh kerja apa pun yang mengunggah media pengguna yang dikumpulkan ke server (misalnya saya menemukan https://github.com/codepo8/interaction-cam/ melalui ini menjawab. Ini menunjukkan video, tetapi tidak menangkap di Firefox saya dan tidak "sadar" juga, itu tidak menampilkan video sama sekali di Safari). Saya tidak yakin berapa banyak dari perangkat keras ini (kamera Macbook Air saya telah dinyalakan / dimatikan di Chrome untuk waktu yang lama sekarang).

Apakah ada semacam polyfill untuk mengunggah gambar yang diambil yang dapat kembali ke input file sederhana jika terjadi masalah / penolakan akses?


5
2018-02-07 11:44


asal


Jawaban:


Saya sudah sejak ditemukan getUserMedia.js, yang berfungsi di Firefox. Ini jatuh kembali ke Flash, yang bagus, saya harus melihat apakah saya bisa men-tweak itu untuk jatuh kembali ke input type = "file" di browser mobile.


1
2018-02-07 14:24



Di desktop, ke mengakses webcam:

  • gunakan (sekarang tidak lagi digunakan) navigator.getUserMedia ATAU
  • gunakan janji baru berdasarkan navigator.mediaDevices.getUserMedia

Setelah akses diberikan, ke rekam webcam:

  • menggunakan API Perekam Media, sekarang didukung di Chrome / Firefox (demo & kode) ATAU
  • gunakan WebRTC dan streaming video ke server media di mana Anda dapat merekamnya

PS: di seluler spesifikasi HTML Media Capture telah berevolusi, accept="image/*;capture=camera" tidak pernah berhasil ke Rekomendasi Kandidat W3C. Gunakan saja accept="image/*"  sebagai gantinya dan tambahkan secara terpisah capture="capture"(Boolean) hanya jika Anda ingin memaksa menangkap dari kamera. Lihat Sintaks yang benar untuk HTML Media Capture untuk lebih jelasnya.


1
2017-11-09 23:03