Erstellen Sie zunächst eine Der Inhalt ist wie folgt: <!DOCTYPE html> <html> <Kopf> <title>Parzellen-Sandbox</title> <meta charset="UTF-8" /> </Kopf> <Text> <video class="video" width="600px" Steuerelemente></video> <button class="record-btn">aufzeichnen</button> <script src="./index.js"></script> </body> </html> Dann erstellen Sie Achten Sie auf Tastenklicks: let btn = document.querySelector(".record-btn"); btn.addEventListener("klicken", Funktion () { console.log("hallo"); }); Öffnen Sie die Entfernen Sie nun den Aufdruck und ersetzen Sie ihn durch Folgendes: let btn = document.querySelector(".record-btn"); btn.addEventListener("klicken", asynchrone Funktion () { lass stream = warte auf navigator.mediaDevices.getDisplayMedia({ Video: wahr }); }); Klicken Sie nun auf die Schaltfläche. Ein Fenster zur Bildschirmauswahl wird angezeigt: Da ich jetzt zwei Bildschirme verwende, werden zwei Optionen angezeigt. Nun könnten Sie annehmen, dass die Aufzeichnung durch Auswahl eines Bildschirms und Klicken auf „Teilen“ gestartet wird. Nein, das ist komplizierter als wir denken. Wir werden let btn = document.querySelector(".record-btn") btn.addEventListener("klicken", asynchrone Funktion () { lass stream = warte auf navigator.mediaDevices.getDisplayMedia({ Video: wahr }) // Benötige bessere Browserunterstützung const mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ? "video/webm; codecs=vp9" : "video/webm" let mediaRecorder = neuer MediaRecorder(stream, { MIME-Typ: MIME }) //Muss mediaRecorder.start() manuell starten }) Wenn unser Bildschirm aufgezeichnet wird, liefert uns let btn = document.querySelector(".record-btn") btn.addEventListener("klicken", asynchrone Funktion () { lass stream = warte auf navigator.mediaDevices.getDisplayMedia({ Video: wahr }) // Benötige bessere Browserunterstützung const mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ? "video/webm; codecs=vp9" : "video/webm" let mediaRecorder = neuer MediaRecorder(stream, { MIME-Typ: MIME }) lass Stücke = [] mediaRecorder.addEventListener('Daten verfügbar', Funktion(e) { chunks.push(e.daten) }) //Muss mediaRecorder.start() manuell starten }) Wenn wir nun auf die Schaltfläche „Freigabe beenden“ klicken, möchten wir das aufgezeichnete Video in unserem let btn = document.querySelector(".record-btn") btn.addEventListener("klicken", asynchrone Funktion () { lass stream = warte auf navigator.mediaDevices.getDisplayMedia({ Video: wahr }) // Benötige bessere Browserunterstützung const mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ? "video/webm; codecs=vp9" : "video/webm" let mediaRecorder = neuer MediaRecorder(stream, { MIME-Typ: MIME }) lass Stücke = [] mediaRecorder.addEventListener('Daten verfügbar', Funktion(e) { chunks.push(e.daten) }) mediaRecorder.addEventListener('Stopp', Funktion(){ lass blob = neuer Blob(Chunks, { Typ: Chunks[0].Typ }) let video = document.querySelector(".video") video.src = URL.ObjektURLerstellen(blob) }) //Muss mediaRecorder.start() manuell starten }) Nun ist es im Grunde fertig und kann noch verfeinert werden, wie zum Beispiel das automatische Herunterladen des aufgenommenen Videos. Sie können Folgendes tun: let btn = document.querySelector(".record-btn") btn.addEventListener("klicken", asynchrone Funktion () { lass stream = warte auf navigator.mediaDevices.getDisplayMedia({ Video: wahr }) // Benötige bessere Browserunterstützung const mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ? "video/webm; codecs=vp9" : "video/webm" let mediaRecorder = neuer MediaRecorder(stream, { MIME-Typ: MIME }) lass Stücke = [] mediaRecorder.addEventListener('Daten verfügbar', Funktion(e) { chunks.push(e.daten) }) mediaRecorder.addEventListener('Stopp', Funktion(){ lass blob = neuer Blob(Chunks, { Typ: Chunks[0].Typ }) let url = URL.createObjectURL(blob) let video = document.querySelector("video") video.src = URL lass a = Dokument.createElement('a') a.href = URL a.download = "video.webm" ein.Klick() }) //Muss mediaRecorder.start() manuell starten }) Nun ist die grundlegendste Aufnahmefunktion fertig. Probieren wir sie aus!! Dies ist das Ende dieses Artikels über die Verwendung von JS zum Erstellen einer Bildschirmaufzeichnungsfunktion. Weitere Informationen zur Verwendung von JS zum Erstellen einer Bildschirmaufzeichnungsfunktion finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So fügen Sie Konfigurationsoptionen zum Discuz!-Forum hinzu
Im vorherigen Artikel wurde der Installationsproz...
So konfigurieren Sie benutzerdefinierte Pfadalias...
Linux-Betrieb Experimentelle Umgebung: Centos7-Vi...
1. Um die Abfrage zu optimieren, sollten Sie voll...
MongoDB -Installation Wählen Sie die Installation...
Vorwort add_header ist eine Direktive, die im Hea...
Gründe, warum die 1px-Linie dicker wird Wenn wir ...
Frage Das nahtlose Scrollen von Bildern und Texte...
1. Umgebungsbeschreibung (1) CentOS-7-x86_64, Ker...
Es gibt zwei Möglichkeiten, Container-Ports in Do...
Inhaltsverzeichnis 1. Einführung in ReactJS 2. Ve...
Beginnen wir die Diskussion mit einer häufig gest...
Inhaltsverzeichnis 1. Grundlagen 2. Knoten, Bäume...
1. Tabellenstruktur 2. Tabellendaten 3. Das Abfra...
Ich habe verschiedene Images sowohl unter virtuel...