Bagaimana untuk membuka kamera web menggunakan JavaScript?
Dalam tutorial ini, kita akan melihat proses membuka webcam menggunakan JavaScript. Jadi, ini boleh dilakukan menggunakan WebRTC. WebRTC ialah singkatan untuk Web Real-Time Communications. Menggunakan objek ini kita boleh mengakses dan menangkap kamera web dan peranti mikrofon yang tersedia dalam peranti pengguna.
Bagaimana untuk mengakses kamera web?
Kami boleh mengakses kamera web dan mikrofon peranti pengguna menggunakan objek ECMAScript navigator.mediaDevices.getUserMedia(kekangan).
Oleh itu, fungsi getUserMedia() secara lalai akan meminta kebenaran pengguna untuk menggunakan kamera web anda. Fungsi ini mengembalikan promise, sebaik sahaja anda mengklik OK dan memberikan kebenaran, maka janji akan dibatalkan dan ia akan membolehkan kamera web dalam sistem anda jika tidak, jika anda tidak membenarkannya, maka ia juga akan menjadi kaedah menangkap matikan kamera web.
Kita juga boleh menghantar parameter kepada fungsi getUserMedia(), sama seperti jika kita mahukan imej dengan lebar atau ketinggian tertentu.
Proses membuka webcam
Kita boleh mengikuti langkah di bawah untuk membuka kamera web menggunakan JavaScript.
Langkah 1 - Tambahkan elemen HTML seperti video untuk memaparkan strim webcam dan butang.
Langkah 2 - Periksa sama ada kamera web tersedia dan selesaikan janji yang dikembalikan fungsi getUserMedia.
LANGKAH 3 - Lulus parameter untuk mendapatkan fungsi GetUserMedia() seperti audio dan video benar kerana kami akan menggunakannya
Langkah 4 - Untuk telefon pintar kita perlu menggunakan pilihan faceingMode sebagai kedua-duanya Kamera tersedia dan secara lalai kami menghidupkannya dengan kamera hadapan.
Contoh
Di bawah ialah prosedur mudah untuk menghidupkan kamera web anda. Kami mengikuti langkah di atas untuk menyelesaikan tugas kami.
<html> <head> <title>Open webcam using JavaScript. </title> </head> <body> <h1>Open WebCam Using JavaScript</h1> <br/> <button id="startBtn" onclick="openCam()">Open Webcam</button> <br/><br/> <video id="videoCam"></video> <script> function openCam(){ let All_mediaDevices=navigator.mediaDevices if (!All_mediaDevices || !All_mediaDevices.getUserMedia) { console.log("getUserMedia() not supported."); return; } All_mediaDevices.getUserMedia({ audio: true, video: true }) .then(function(vidStream) { var video = document.getElementById('videoCam'); if ("srcObject" in video) { video.srcObject = vidStream; } else { video.src = window.URL.createObjectURL(vidStream); } video.onloadedmetadata = function(e) { video.play(); }; }) .catch(function(e) { console.log(e.name + ": " + e.message); }); } </script> </body> </html>
Gunakan CSS untuk mereka bentuk antara muka
Pertama, mari kita reka antara muka web kami menggunakan HTML dan CSS.
Kami menambah komponen seperti kawasan video kamera web dan menggunakan CSS untuk menetapkan ketinggian dan lebarnya kepada 400px dan warna latar belakang kepada hitam. Ia akan memaparkan aliran video kamera web.
Tambahkan butang yang dipanggil Buka Kamera dan gunakan sifat CSSnya; butang ini akan digunakan untuk melancarkan kamera web.
Kini kami akan menambah kod fungsi dan membenamkannya ke dalam program utama.
Kami akan memanggil fungsi ini apabila butang OpenCamera diklik dan dalam fungsi ini semua arahan akan berlaku seperti yang dibincangkan di atas.
Contoh
Dalam contoh di bawah, kami telah menambahkan beberapa CSS untuk mereka bentuk antara muka yang lebih interaktif.
<html> <head> <title>Open webcam using JavaScript.</title> <style> *{ background-color: #658EA9; } #videoCam { width: 630px; height: 300px; margin-left: 0px; border: 3px solid #ccc; background: black; } #startBtn { margin-left: 280px; width: 120px; height: 45px; cursor: pointer; font-weight: bold; } #startBtn:hover{ background-color: #647C90; color: red; } </style> </head> <body> <h1>Open WebCam Using JavaScript</h1> <br/> <video id="videoCam"></video> <br/><br/> <button id="startBtn" onclick="openCam()">Open Camera</button> <script> function openCam(){ let All_mediaDevices=navigator.mediaDevices if (!All_mediaDevices || !All_mediaDevices.getUserMedia) { console.log("getUserMedia() not supported."); return; } All_mediaDevices.getUserMedia({ audio: true, video: true }) .then(function(vidStream) { var video = document.getElementById('videoCam'); if ("srcObject" in video) { video.srcObject = vidStream; } else { video.src = window.URL.createObjectURL(vidStream); } video.onloadedmetadata = function(e) { video.play(); }; }) .catch(function(e) { console.log(e.name + ": " + e.message); }); } </script> </body> </html>
Seperti yang anda boleh perhatikan dari skrin output, apabila kami mengklik pada butang "Buka Kamera", ia meminta akses kepada kamera web dan apabila kami membenarkan akses itu, ia memulakan aliran video kamera web dalam skrin kawasan video ; Jika kami tidak 't memberikan akses, ia tidak akan menunjukkan sebarang output.
Atas ialah kandungan terperinci Bagaimana untuk membuka kamera web menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

Siri artikel ini ditulis semula pada pertengahan 2017 dengan maklumat terkini dan contoh segar. Dalam contoh JSON ini, kita akan melihat bagaimana kita dapat menyimpan nilai mudah dalam fail menggunakan format JSON. Menggunakan notasi pasangan nilai utama, kami boleh menyimpan apa-apa jenis

Tingkatkan Penyampaian Kod Anda: 10 Penyeret Sintaks untuk Pemaju Coretan kod perkongsian di laman web atau blog anda adalah amalan biasa bagi pemaju. Memilih penyapu sintaks yang betul dapat meningkatkan daya tarikan dan daya tarikan visual dengan ketara. T

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Artikel ini membentangkan pemilihan lebih daripada 10 tutorial mengenai rangka kerja javascript dan jquery model-view-controller (MVC), sesuai untuk meningkatkan kemahiran pembangunan web anda pada tahun baru. Tutorial ini merangkumi pelbagai topik, dari Foundatio

Mata teras Ini dalam JavaScript biasanya merujuk kepada objek yang "memiliki" kaedah, tetapi ia bergantung kepada bagaimana fungsi dipanggil. Apabila tidak ada objek semasa, ini merujuk kepada objek global. Dalam penyemak imbas web, ia diwakili oleh tetingkap. Apabila memanggil fungsi, ini mengekalkan objek global; tetapi apabila memanggil pembina objek atau mana -mana kaedahnya, ini merujuk kepada contoh objek. Anda boleh mengubah konteks ini menggunakan kaedah seperti panggilan (), memohon (), dan mengikat (). Kaedah ini memanggil fungsi menggunakan nilai dan parameter yang diberikan. JavaScript adalah bahasa pengaturcaraan yang sangat baik. Beberapa tahun yang lalu, ayat ini
