Saya membuka webcam dengan menggunakan kode JavaScript berikut: navigator.getUserMedia
Apakah ada kode JavaScript untuk menghentikan atau menutup webcam? Terimakasih semuanya.
sumber
Saya membuka webcam dengan menggunakan kode JavaScript berikut: navigator.getUserMedia
Apakah ada kode JavaScript untuk menghentikan atau menutup webcam? Terimakasih semuanya.
EDIT
Karena jawaban ini awalnya diposting, API peramban telah berubah.
.stop()
tidak lagi tersedia di aliran yang diteruskan ke panggilan balik. Pengembang harus mengakses trek yang membentuk aliran (audio atau video) dan menghentikan masing-masing secara individual.
Info lebih lanjut di sini: https://developers.google.com/web/updates/2015/07/mediastream-deprecations?hl=en#stop-ended-and-active
Contoh (dari tautan di atas):
stream.getTracks().forEach(function(track) {
track.stop();
});
Dukungan browser mungkin berbeda.
Jawaban asli
navigator.getUserMedia
memberi Anda aliran dalam panggilan balik yang berhasil, Anda dapat memanggil .stop()
aliran itu untuk menghentikan rekaman (setidaknya di Chrome, sepertinya FF tidak menyukainya)
stream.stop()
berfungsi untuk chrome,mediaRecorder.stop()
menghentikan rekaman, sedangkan itu tidak menghentikan aliran yang disediakan oleh browser. Bisakah Anda melihat ke stackoverflow.com/questions/34715357/…Gunakan salah satu dari fungsi ini:
Catatan: Jawabannya diperbarui pada: 06/09/2020
sumber
stream.getTracks().forEach(track => { track.stop() })
? Atau jika Anda benar-benar cukup sering melakukan hal ini untuk membenarkan steno, Anda selalu dapat mendefinisikan fungsi pembantustopAllTracks(stream)
.Jangan gunakan
stream.stop()
, sudah usangPenghentian MediaStream
Menggunakan
stream.getTracks().forEach(track => track.stop())
sumber
FF, Chrome dan Opera telah mulai mengekspos
getUserMedia
melaluinavigator.mediaDevices
sebagai standar sekarang (Mungkin berubah :)demo online
sumber
Memulai Video Webcam dengan berbagai browser
Untuk Opera 12
Untuk Firefox Nightly 18.0
Untuk Chrome 22
Menghentikan Video Webcam dengan browser yang berbeda
Untuk Opera 12
Untuk Firefox Nightly 18.0
Untuk Chrome 22
Dengan ini lampu Webcam mati setiap ...
sumber
Misalkan kita memiliki streaming dalam tag video dan id adalah video -
<video id="video"></video>
maka kita harus memiliki kode berikut -sumber
Anda dapat mengakhiri streaming secara langsung menggunakan objek stream yang dikembalikan di penangan sukses ke getUserMedia. misalnya
video.src=""
ataunull
hanya akan menghapus sumber dari tag video. Itu tidak akan melepaskan perangkat keras.sumber
Coba metode di bawah ini:
sumber
Jika
.stop()
sudah usang maka saya tidak berpikir kita harus menambahkannya kembali seperti dosis @MuazKhan. Ini adalah alasan mengapa hal-hal menjadi usang dan tidak boleh digunakan lagi. Sebagai gantinya, buat saja fungsi pembantu ... Ini adalah versi yang lebih es6sumber
for (let track of stream.getTracks()) { track.stop() }
stream.getTracks().forEach(function (track) { track.stop() })
dalam ES5, ini menghindari transformasi babel yang panjang darifor of
Karena Anda memerlukan trek untuk menutup streaming, dan Anda perlu
stream
boject untuk sampai ke trek, kode yang saya gunakan dengan bantuan jawaban Muaz Khan di atas adalah sebagai berikut:Tentu saja ini akan menutup semua trek video yang aktif. Jika Anda memiliki banyak, Anda harus memilih yang sesuai.
sumber
Anda harus menghentikan semua trek (dari webcam, mikrofon):
sumber
Menggunakan .stop () pada streaming berfungsi di chrome saat terhubung melalui http. Tidak berfungsi saat menggunakan ssl (https).
sumber
Silakan periksa ini: https://jsfiddle.net/wazb1jks/3/
Hentikan rekaman
sumber
Kode berikut ini berfungsi untuk saya:
sumber
Mulai dan Hentikan Kamera Web, (Perbarui 2020 Bereaksi es6)
Mulai Kamera Web
Hentikan Kamera Web atau pemutaran Video secara umum
Fungsi Stop Web Camera berfungsi bahkan dengan streaming video:
sumber
Memiliki referensi bentuk keberhasilan stream
sumber