Heim Web-Frontend HTML-Tutorial Zusammenfassung der Problemfälle bei der mobilen Videowiedergabe

Zusammenfassung der Problemfälle bei der mobilen Videowiedergabe

Nov 27, 2017 am 10:59 AM
video 播放 问题

Im Folgenden zeige ich Ihnen einige Fälle, bei denen es sich um Beispiele und Zusammenfassungen einiger Probleme handelt. Sie sind eine Referenz und ein Studium wert, da ich zum Zeichnen des Videos die gleiche Wirkung festgestellt habe wie bei der Verwendung des Videos direkt. Daher habe ich immer noch die ursprüngliche Videomethode

<div class="commondw videoimg" id="videoimg"></div><video class="vido" id="vidoid" poster="images/photo/video.jpg">
    <source src="media/move.mp4" type="video/mp4"></video>$("#videoimg").on("click", function () {
    $(this).fadeOut(1000);
    $(".clicktips").hide();
    $("#vidoid").show();
    $("#vidoid")[0].play();
    $("#vidoid").bind(&#39;ended&#39;, function () {
        $("#vidoid").hide();
        $("#videoimg").show();
    })
});
Nach dem Login kopieren

verwendet, aber im Browser gibt es immer noch kein Problem, genau wie beim Zeichnen auf Leinwand! Klicken Sie hier, um die native Videoversion der Blending-Methode zu erleben Video

Fehlerfall 2 (Canvas-Rendering-Video)

Später dachte ich darüber nach, Canvas zum Rendern von Videos zu verwenden Durch die drawImage-Methode von Canvas in Kombination mit der requestAnimationFrame-Animation und der requestAnimationFrame-Animation habe ich sie auch schon einmal eingeführt, als ich eine Zusammenfassung der Hochzeitseinladungen erstellt habe.

Der unten gepostete Code

 function VideoToCanvas(videoElement,fn) {
        if (!videoElement) {
            return;
        }
        var fn=fn||"";
        var canvas = document.createElement(&#39;canvas&#39;);
        canvas.width = videoElement.offsetWidth;
        canvas.height = videoElement.offsetHeight;
        var ctx = canvas.getContext(&#39;2d&#39;);
        var newVideo = videoElement.cloneNode(false);
        var timer = null;
        var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
                window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
        var cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;
        function drawCanvas() {
            ctx.drawImage(newVideo, 0, 0, canvas.width, canvas.height);
            timer = requestAnimationFrame(drawCanvas);
        }
        function stopDrawing() {
            cancelAnimationFrame(timer);
        }
        function endedCallBack(){
             cancelAnimationFrame(timer);
             fn && fn()
        }
        newVideo.addEventListener(&#39;play&#39;, function () {
            drawCanvas();
        }, false);
        newVideo.addEventListener(&#39;pause&#39;, stopDrawing, false);
        newVideo.addEventListener(&#39;ended&#39;, endedCallBack, false);
        videoElement.parentNode.replaceChild(canvas, videoElement);
        this.play = function () {
            newVideo.play();
        };
        this.pause = function () {
            newVideo.pause();
        };
        this.playPause = function () {
            if (newVideo.paused) {
                this.play();
            } else {
                this.pause();
            }
        };
        this.change = function (src) {
            if (!src) {
                return;
            }
            newVideo.src = src;
        };
        this.drawFrame = drawCanvas;
        this.show = function () {
            canvas.style.display = "block";
        }
        this.hide = function () {
            canvas.style.display = "none";
        }
    }
Nach dem Login kopieren

kapselt show(), hide(), play(), pause(), change address change() und switch play und Pause playPause() ;

Die Verwendungsmethode ist wie folgt:

var canvasvedio=new VideoToCanvas(document.getElementById("vidoid"),function(){
canvasvedio.hide();
$("#videoimg").show();});canvasvedio.play();

Es gibt auch eine Rückruffunktion, die nach der Leinwand erfolgt Wenn Sie mit dem Spielen fertig sind, können Sie die Rückruffunktion übergeben! Bitte klicken Sie auf diese Testadresse, aber in Android WeChat und einigen Browsern werden immer noch neue Fenster angezeigt, was sehr frustrierend ist! !

Andere Anwendungen für Leinwand-Zeichnungsvideos

Es gibt viele andere Anwendungen für Leinwand-Zeichnungsvideos, zum Beispiel können wir mit der Videowiedergabe synchronisierte, unscharfe Hintergründe, Video-Screenshots, graue Videos usw. erstellen.

Es gibt einen bestimmten Artikel, den ich jedem empfehlen kann, ihn zu lesen: http://html5doctor.com/video-canvas-magic/

Aber das kann nur getan werden auf dem PC. Es gibt immer noch ein Problem mit der mobilen Version! ! ! !

Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!


Verwandte Lektüre:

css3 klicken, um Welleneffekte anzuzeigen

Wie man fliegende Schmetterlinge macht in CSS3-Animation

Wie man Canvas verwendet, um die Interaktion zwischen dem Ball und der Maus zu realisieren

Das obige ist der detaillierte Inhalt vonZusammenfassung der Problemfälle bei der mobilen Videowiedergabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Das Motorola Razr 50 Ultra erscheint in einem durchgesickerten Teaser-Video mit wasserdichtem Gehäuse und riesigem Zweitdisplay Das Motorola Razr 50 Ultra erscheint in einem durchgesickerten Teaser-Video mit wasserdichtem Gehäuse und riesigem Zweitdisplay Jun 20, 2024 pm 09:31 PM

In den letzten Wochen sind die wichtigsten Spezifikationen und die Euro-Preise des Motorola Razr 50 und des Razr 50 Ultra durchgesickert. Nun konnte der enorm zuverlässige Leaker @MysteryLupin das unten eingebettete Teaser-Video veröffentlichen, das

Probleme bei der Bewertung des Clustering-Effekts in Clustering-Algorithmen Probleme bei der Bewertung des Clustering-Effekts in Clustering-Algorithmen Oct 10, 2023 pm 01:12 PM

Das Problem der Clustering-Effektbewertung im Clustering-Algorithmus erfordert spezifische Codebeispiele. Clustering ist eine unbeaufsichtigte Lernmethode, die ähnliche Stichproben durch Clustering von Daten in eine Kategorie gruppiert. Bei Clustering-Algorithmen ist die Bewertung des Clustering-Effekts ein wichtiges Thema. In diesem Artikel werden mehrere häufig verwendete Indikatoren zur Bewertung des Clustering-Effekts vorgestellt und entsprechende Codebeispiele gegeben. 1. Clustering-Effekt-Bewertungsindex Silhouette-Koeffizient Der Silhouette-Koeffizient bewertet den Clustering-Effekt, indem er die Nähe der Stichprobe und den Grad der Trennung von anderen Clustern berechnet.

So lösen Sie das Problem, dass jQuery den Formularelementwert nicht abrufen kann So lösen Sie das Problem, dass jQuery den Formularelementwert nicht abrufen kann Feb 19, 2024 pm 02:01 PM

Um das Problem zu lösen, dass jQuery.val() nicht verwendet werden kann, sind spezifische Codebeispiele erforderlich. Für Front-End-Entwickler ist die Verwendung von jQuery eine der häufigsten Operationen. Unter diesen ist die Verwendung der .val()-Methode zum Abrufen oder Festlegen des Werts eines Formularelements eine sehr häufige Operation. In bestimmten Fällen kann jedoch das Problem auftreten, dass die Methode .val() nicht verwendet werden kann. In diesem Artikel werden einige gängige Situationen und Lösungen vorgestellt und spezifische Codebeispiele bereitgestellt. Problembeschreibung: Wenn Sie jQuery zum Entwickeln von Front-End-Seiten verwenden, treten manchmal Probleme auf

Erfahren Sie, wie Sie häufige iPhone-Probleme diagnostizieren Erfahren Sie, wie Sie häufige iPhone-Probleme diagnostizieren Dec 03, 2023 am 08:15 AM

Das iPhone ist für seine leistungsstarke Leistung und seine vielseitigen Funktionen bekannt und ist nicht immun gegen gelegentliche Probleme oder technische Schwierigkeiten, ein häufiges Merkmal komplexer elektronischer Geräte. iPhone-Probleme können frustrierend sein, aber normalerweise ist kein Alarm erforderlich. In diesem umfassenden Leitfaden möchten wir einige der am häufigsten auftretenden Herausforderungen im Zusammenhang mit der iPhone-Nutzung entmystifizieren. Unser Schritt-für-Schritt-Ansatz soll Ihnen bei der Lösung dieser häufigen Probleme helfen und praktische Lösungen und Tipps zur Fehlerbehebung bieten, damit Ihre Geräte wieder einwandfrei funktionieren. Unabhängig davon, ob Sie mit einer Störung oder einem komplexeren Problem konfrontiert sind, kann Ihnen dieser Artikel dabei helfen, diese effektiv zu beheben. Allgemeine Tipps zur Fehlerbehebung Bevor wir uns mit den spezifischen Schritten zur Fehlerbehebung befassen, finden Sie hier einige hilfreiche Tipps

Die Leistung der Snapdragon Die Leistung der Snapdragon Jun 20, 2024 pm 03:59 PM

Trotz des Hypes um den Qualcomm Snapdragon X Elite war es ein eher mittelmäßiger Start. In unserem Test haben wir festgestellt, dass der beeindruckendste Teil des neuen Asus Vivobook S 15 mit Qualcomm Snapdragon X Elite X1E-78-100 die nahtlose Verarbeitung ist

Das Problem der Generalisierungsfähigkeit maschineller Lernmodelle Das Problem der Generalisierungsfähigkeit maschineller Lernmodelle Oct 08, 2023 am 10:46 AM

Die Generalisierungsfähigkeit von Modellen für maschinelles Lernen erfordert spezifische Codebeispiele. Da die Entwicklung und Anwendung von maschinellem Lernen immer weiter verbreitet wird, wird der Generalisierungsfähigkeit von Modellen für maschinelles Lernen immer mehr Aufmerksamkeit geschenkt. Die Generalisierungsfähigkeit bezieht sich auf die Vorhersagefähigkeit eines maschinellen Lernmodells anhand unbeschrifteter Daten und kann auch als Anpassungsfähigkeit des Modells in der realen Welt verstanden werden. Ein gutes Modell für maschinelles Lernen sollte über eine hohe Generalisierungsfähigkeit verfügen und in der Lage sein, genaue Vorhersagen für neue Daten zu treffen. In praktischen Anwendungen stoßen wir jedoch häufig auf Modelle, die im Trainingssatz gut funktionieren, im Testsatz oder in der Realität jedoch versagen

Problem beim Erwerb von Etiketten beim schwach überwachten Lernen Problem beim Erwerb von Etiketten beim schwach überwachten Lernen Oct 08, 2023 am 09:18 AM

Das Problem der Etikettenerfassung beim schwach überwachten Lernen erfordert spezifische Codebeispiele. Einführung: Schwach überwachtes Lernen ist eine Methode des maschinellen Lernens, die schwache Etiketten für das Training verwendet. Im Gegensatz zum herkömmlichen überwachten Lernen müssen beim schwach überwachten Lernen nur weniger Beschriftungen zum Trainieren des Modells verwendet werden, und nicht jede Probe muss über eine genaue Beschriftung verfügen. Beim schwach überwachten Lernen ist jedoch die Frage, wie aus schwachen Labels nützliche Informationen genau gewonnen werden können, ein zentrales Thema. In diesem Artikel wird das Problem der Etikettenerfassung beim schwach überwachten Lernen vorgestellt und spezifische Codebeispiele gegeben. Einführung in das Label-Akquisitionsproblem beim schwach überwachten Lernen:

Die CPU-Leistung des Snapdragon Die CPU-Leistung des Snapdragon Jun 21, 2024 am 06:50 AM

Trotz des Hypes um den Qualcomm Snapdragon X Elite war es ein eher mittelmäßiger Start. In unserem Test haben wir festgestellt, dass der beeindruckendste Teil des neuen Asus Vivobook S 15 mit Qualcomm Snapdragon X Elite X1E-78-100 die nahtlose Verarbeitung ist

See all articles