校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > canvas與html5實現視頻截圖功能示例

canvas與html5實現視頻截圖功能示例

熱門標簽:西寧智能外呼系統加盟 聯通400電話申請 百應電銷機器人產業 高德地圖標注賓館位置 飛亞外呼系統 杭州營銷電銷機器人供應商 電話機器人如何 電視購物電銷外呼系統 貸款電銷人工和機器人哪個好

這段時間一直在研究canvas,突發奇想想做一個可以截屏視頻的功能,然后把圖片拉去做表情包,哈哈哈哈哈哈~~

制作方法:

1.在頁面中加載視頻

在使用canvas制作這個截圖功能時,首先必須保證頁面上已經加載完成了這個視頻,這樣才能夠方便的對其操作。如果使用下面直接嵌入<video>標簽的方式:

<video loop controls id="testmp4" width="500" height="400" >    

<source src="test.mp4" type="video/mp4">  

<source src="test.webm" type="video/webm">   

<source src="test.ogg" type="video/ogg">

</video> 

在我的那篇《html5與視頻》中講到,瀏覽器對視頻的預加載progress以及load事件支持不同,會影響video的播放及其他事件的觸發。所以我們在這里使用js構造video的方式來引入視頻。

這種方式引入視頻要注意,不能引入多個source,所以要先判斷瀏覽器對視頻格式的支持。

1.1使用video的canPlayType()方法判斷支持格式

canPlayType()方法需要傳入一個參數,這個參數就是video的格式,

常用值:video/ogg;

    video/mp4;

    video/webm;

或者包括編碼器:

    video/ogg;codecs="theora,vorbis"

    video/mp4;codecs="avc1.4D401E, mp4a.40.2"

    video/webm;codesc="vp8.0, vorbis"

返回值:表示網頁的支持級別:"probably"-最有可能支持(輸入值帶編碼器的時候只返回這個);"maybe" - 可能支持;"" - (空字符串)不支持;

function videoType(video){

    var returnType='';

    if(video.canPlayType('video/mp4')=='probably'||video.canPlayType('video/mp4')=='maybe'){

      returnType= 'mp4';

    }else if(video.canPlayType('video/ogg')=='probably'||video.canPlayType('video/ogg')=='maybe'){<br>     returnType= 'ogg';    <br>   }else if(video.canPlayType('video/webm')=='probably'||video.canPlayType('video/webm')=='maybe'){<br>     returnType= 'webm';    <br>   }<br>   return returnType; 


} 

這個函數可以判斷瀏覽器對video支持的格式。

 1.2使用js動態加載video標簽

這里判斷了瀏覽器的支持格式后,由于我用的是chrome,所以我的瀏覽器支持mp4格式的視頻,然后我們動態創建一個video標簽。

var videoElem;

var videoDiv;

function createVideo(){

     videoElem=document.createElement("video");//創建video

     videoDiv=document.getElementById("videopanel");//獲取video的外層容器

     videoDiv.appendChild(videoElem);

     var vtype=videoType(videoElem);//判斷瀏覽器支持的格式

     if(vtype==""){

        videoDiv.innerHtml('不支持video')

    }else{

        videoElem.setAttribute('src',"text."+vtype);
    }
}         

由于這里我們要制作截圖功能,單純的video不具備截圖的接口,所以我們要把它復制到canvas上,在canvas上播出這個視頻,所以這里我們先把video給隱藏掉(display:none)。

2.使用canvas復制視頻

現在video已經在瀏覽器上播放了,接下來我們把它復制到canvas里,首先建立canvas,然后得到畫布context,這些就不說了。如何把video畫在canvas上,這里我們要使用一個函數。drawImage函數的用法

1.drawImage(img,x,y):在畫布的(x,y)這個位置畫一個img;

2.drawImage(img,x,y,width,height):在畫布的(x,y)這個位置畫一個width寬,height高的img;

3.drawImage(img,sx,sy,swidth,sheight,x,y,width,height):在畫布的(x,y)位置畫一個img的(sx,sy)位置的swidth寬,sheight高的一塊截圖,畫在畫布上要縮放到width寬和height高。

以上就是drawImage的用法了,這個函數非常的強大。

回到做截圖,我們現在已經在瀏覽器上創建好了畫布--contextVideo,接著我們在這里把視頻畫出來:

contextVideo.drawImage(videoElem,0,0);

然后我們可以看到在canvas里畫了一張圖,但是視頻是不斷變化的,所以我們需要使用setInterval函數不斷的吧video作為源來畫圖。

setInterval(function(){<br>    contextVideo,drawImage(videoElem,0,0);<br>},100) 

這里時間間隔的大小會影響到視頻播放是否會卡。  

到這里我們就把video搬到canvas上展示了。接下來制作截圖。

 3.制作截圖展示canvas面板

這里我們需要再在頁面上畫一個canvas畫布--contextImg,然后再次利用drawImage方法,截圖。

contextImg.drawImage(canvasVideo,0,0,canvasVideo.width,canvasVideo.height); 

這段代碼將第一個canvas畫到了第二個canvas上。

4.制作截圖按鈕

制作一個按鈕,然后綁定click事件,點擊后就調用上一步的函數,這樣就可以制作一個截圖了。

當圖截好后可以將圖右鍵保存下來,然后倒入ps制作表情包了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:玉溪 安慶 撫州 邯鄲 煙臺 內蒙古 晉中 牡丹江

巨人網絡通訊聲明:本文標題《canvas與html5實現視頻截圖功能示例》,本文關鍵詞  canvas,與,html5,實現,視頻,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《canvas與html5實現視頻截圖功能示例》相關的同類信息!
  • 本頁收集關于canvas與html5實現視頻截圖功能示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    风间由美中文字幕在线看视频国产欧美 | 久久久天堂av| 欧美日韩aaaaaa| 欧美日韩国产经典色站一区二区三区| 97精品久久久久中文字幕| 成人18精品视频| 色综合天天性综合| 欧美亚洲日本一区| 91精品国产综合久久久久久久久久 | 亚洲综合在线电影| 亚洲综合视频网| 亚洲超碰精品一区二区| 免费人成黄页网站在线一区二区| 免费在线欧美视频| 精品午夜一区二区三区在线观看| 国产麻豆9l精品三级站| a级高清视频欧美日韩| 91免费看`日韩一区二区| 欧美羞羞免费网站| 91精品国产综合久久香蕉麻豆| 精品少妇一区二区| 日本一区二区不卡视频| 亚洲精品自拍动漫在线| 首页亚洲欧美制服丝腿| 国产精品一区在线| 99久久精品国产毛片| 99久久综合国产精品| 欧美国产精品久久| 日韩激情视频在线观看| 亚洲精品视频在线看| 午夜精品一区在线观看| 蜜桃精品在线观看| 99re视频这里只有精品| 欧美日韩二区三区| 国产精品热久久久久夜色精品三区| 亚洲婷婷综合色高清在线| 亚洲成人免费观看| 蜜臀av一级做a爰片久久| 国产suv精品一区二区6| 欧美电影一区二区| 国产精品视频一二三| 日本sm残虐另类| 91日韩精品一区| 国产性色一区二区| 亚洲h精品动漫在线观看| 国产盗摄女厕一区二区三区| 欧美日韩一区二区不卡| 亚洲人精品午夜| 韩国成人精品a∨在线观看| 欧美视频一区二区三区| 综合电影一区二区三区 | 欧美一区日韩一区| 国产精品毛片高清在线完整版| 五月天一区二区三区| 9色porny自拍视频一区二区| 欧美videos中文字幕| 亚洲综合激情小说| 91在线免费看| 亚洲日本免费电影| 国产成人精品一区二区三区四区| 日韩视频国产视频| 午夜欧美一区二区三区在线播放| 91在线观看视频| 亚洲同性同志一二三专区| 国产成人午夜视频| 国产视频一区二区三区在线观看 | 国产偷国产偷亚洲高清人白洁| 日产精品久久久久久久性色| 欧美日韩在线播| 亚瑟在线精品视频| 欧美浪妇xxxx高跟鞋交| 亚洲一区在线电影| 日本道免费精品一区二区三区| 综合自拍亚洲综合图不卡区| 成人av一区二区三区| 中文字幕一区二区三区乱码在线| 成人av免费观看| 亚洲欧洲日韩av| 色欧美片视频在线观看在线视频| 一区二区日韩av| 欧美一a一片一级一片| 爽好久久久欧美精品| 日韩视频一区二区在线观看| 精品一区二区三区免费视频| 久久久三级国产网站| 国产黑丝在线一区二区三区| 国产精品天天摸av网| av一区二区不卡| 亚洲伊人伊色伊影伊综合网| 69堂精品视频| 国产精品综合二区| 国产精品福利一区| 欧美色图12p| 久久不见久久见中文字幕免费| 精品国产一二三区| 丁香啪啪综合成人亚洲小说| 亚洲另类一区二区| 欧美精品99久久久**| 国产福利不卡视频| 亚洲精品国产无天堂网2021| 欧美一二三四在线| 成人免费毛片aaaaa**| 亚洲综合男人的天堂| 欧美一级片在线| 成人国产电影网| 午夜精品福利一区二区蜜股av | 狠狠色丁香久久婷婷综| 日韩一区有码在线| 91精品国产综合久久久久久久| 丰满少妇在线播放bd日韩电影| 亚洲综合免费观看高清完整版在线| 精品日韩在线一区| 一本一道综合狠狠老| 精品一区二区av| 亚洲国产综合在线| 国产精品另类一区| 日韩一区二区在线看片| 91美女片黄在线观看91美女| 激情综合亚洲精品| 亚洲高清视频在线| 中文字幕一区二区三区视频| 欧美一区二区女人| 波波电影院一区二区三区| 免费看欧美美女黄的网站| 中文字幕一区二区三| 亚洲精品在线免费观看视频| 欧美色视频在线观看| jlzzjlzz亚洲女人18| 久久er99热精品一区二区| 亚洲国产成人av| 亚洲人成小说网站色在线 | 欧美绝品在线观看成人午夜影视| 成熟亚洲日本毛茸茸凸凹| 久久99国产精品免费| 婷婷国产v国产偷v亚洲高清| 亚洲另类一区二区| 亚洲精品视频在线观看免费| 国产精品视频一二三区 | 在线精品视频免费播放| 成人激情免费视频| 成人免费三级在线| 国产凹凸在线观看一区二区| 国产一区二区三区免费观看| 国产精品全国免费观看高清 | 色香色香欲天天天影视综合网| 国产精品白丝jk黑袜喷水| 精品亚洲国产成人av制服丝袜| 日日摸夜夜添夜夜添精品视频| 亚洲一区二区三区四区在线观看 | 国产一区二区看久久| 久久电影网站中文字幕| 精品一区二区在线播放| 狠狠网亚洲精品| 国产乱子伦一区二区三区国色天香 | 欧美性猛交xxxx乱大交退制版| 在线欧美小视频| 欧美日韩国产不卡| 91精品国产综合久久久久久| 日韩视频免费观看高清在线视频| 日韩一区二区免费在线观看| 欧美成人女星排名| 国产欧美一区二区精品久导航| 国产欧美在线观看一区| 1000部国产精品成人观看| 亚洲免费毛片网站| 亚洲成人tv网| 国产呦精品一区二区三区网站| 国产成人鲁色资源国产91色综 | 国产乱人伦精品一区二区在线观看| 激情成人综合网| av在线不卡观看免费观看| 一本色道久久综合亚洲91| 欧美日韩1区2区| 久久久亚洲精品一区二区三区| 国产精品无码永久免费888| 一区二区三区四区五区视频在线观看| 亚洲图片自拍偷拍| 国产福利一区在线| 色嗨嗨av一区二区三区| 日韩免费一区二区三区在线播放| 国产亚洲短视频| 偷拍亚洲欧洲综合| 国产91精品一区二区麻豆亚洲| 91免费在线播放| 精品国产一区二区三区不卡 | 精品一二线国产| 成人精品视频网站| 欧美日韩五月天| 国产精品美女一区二区三区| 五月天丁香久久| 成人久久视频在线观看| 欧美一级精品大片| 一区二区欧美精品| 国产高清在线精品| 日韩欧美在线1卡| 亚洲激情成人在线| 国产大陆精品国产| 日韩午夜在线观看视频| 亚洲激情av在线| 懂色av一区二区三区免费看|