前端畫布canvas.toDataURL()導出時爲空解決辦法

最近項目中的是個視頻縮略圖好多都不能用了,鄙人調試了一天也沒發現什麼問題,然後就發現是谷歌瀏覽器升級的原因,77.0版本以前的只要加了跨域的代碼就可以支持導出,但是77.0就不可以,原來代碼如下

        function getVideoFirstFrame(src, img, width, height) {
            var video = document.createElement('video');
            video.crossOrigin = "anonymous";
            video.addEventListener('loadeddata', function () {
                var canvas = document.createElement("canvas"); // 創建一個畫布
                canvas.width = width;
                canvas.height = height;
                canvas.getContext('2d').drawImage(video, 0, 0, width, height); // getContext:設置畫布環境;drawImage:畫畫 
                img.src = canvas.toDataURL("image/png"); // 獲取圖片的url
            });
            video.src = src;
        }

谷歌瀏覽器升級後canvas.toDataURL()方法返回值都是一樣的,後來偶然間發現升級後第一幀默認是空白的,只要加一個

video.currentTime=1;就可以

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章