国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

Nodejs中使用puppeteer控制瀏覽器中視頻播放功能

2019-11-19 10:57:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本項(xiàng)目主要功能為在瀏覽器中自動(dòng)播放視頻,并且實(shí)現(xiàn)音量控制,快進(jìn)快退,全屏控制,播放暫??刂频裙δ?。

倉(cāng)庫(kù)地址:  github.com/hapiman/chr…

安裝靜態(tài)服務(wù)器

如果電腦上存在nodejs的環(huán)境,可以直接安裝 anywhere 來(lái)訪問(wèn) index.html 頁(yè)面。 進(jìn)入項(xiàng)目根目錄,執(zhí)行命令: anywhere ,然后瀏覽器會(huì)自動(dòng)打開(kāi) http://localhost:8000 頁(yè)面。

使用puppeteer自動(dòng)化執(zhí)行命令

通過(guò)在 nodejs 調(diào)用前端頁(yè)面的方法,然后能夠Socket實(shí)現(xiàn)遠(yuǎn)程控制瀏覽器的視頻播放。

具體功能實(shí)現(xiàn)

var _volumeNum = 1 // 音量值 var _speedNum = 1 // 速度值 var videoSrc = 'demo02.mp4' // 切換資源 window.onload = function () {  var myVideo = document.getElementById('myVideo')  var scSource = document.getElementById('sc')  var myVideoBody = { pause: true }  // 播放完成指令  myVideo.addEventListener('ended', function () {   scSource.src = videoSrc;   myVideo.load()   myVideo.play()  })  // 初始化  start() } // 獲取video function getVideo() {  var myVideo = document.getElementById('myVideo')  return myVideo } // 快進(jìn) function vforward(params) {  if (_speedNum >= 2) return  _speedNum = accAdd(_speedNum, 0.1)  console.log('vforward _speedNum: ', _speedNum)  getVideo().playbackRate = _speedNum } // 快退 function vbackward() {  if (_speedNum <= 0.5) return  var myVideo = getVideo()  _speedNum = accSub(_speedNum, 0.1)  console.log('vbackward _speedNum: ', _speedNum)  getVideo().playbackRate = _speedNum } // 頁(yè)面加載之后執(zhí)行命令 function start() {  var myVideo = getVideo()  myVideo.volume = 1  myVideo.playbackRate = 1 } // 設(shè)置靜音 function setMuted() {  getVideo().muted = true } // 設(shè)置非靜音 function setNotMuted() {  getVideo().muted = false } // 播放 function vplay() {  console.log('vplay =>')  getVideo().play(); } // 暫停 function vstop() {  getVideo().pause(); } // 重播 function vrestart() {  getVideo().currentTime = 0  getVideo().play() } // 取消全屏 function cancelFull() {  screenfull.exit() } // 打開(kāi)全屏 function openFull() {  getVideo().webkitRequestFullscreen() } // 音量 -- function reduceVolume() {  console.log('reduceVolume:: current volume: ', myVideo.volume) // 當(dāng)前音量  getVideo().muted = false  if (_volumeNum <= 0) return  _volumeNum = accSub(_volumeNum, 0.1)  getVideo().volume = _volumeNum } // 音量 ++ function addVolume() {  console.log('addVolume:: current volume: ', myVideo.volume)  // 當(dāng)前音量  getVideo().muted = false  if (_volumeNum >= 1) return  _volumeNum = accAdd(_volumeNum, 0.1)  getVideo().volume = _volumeNum }

遇到的問(wèn)題

關(guān)于人工觸發(fā)

打開(kāi)網(wǎng)頁(yè)的時(shí)候,autoplay可以自動(dòng)播放,但是是靜音模式,從76版本開(kāi)始,chrome瀏覽器安全機(jī)制不再允許有聲自動(dòng)播放視頻。

同樣的,處于安全考慮,瀏覽器也不能夠在沒(méi)有用戶(hù)操作的情況,通過(guò)接口設(shè)置為全屏。

當(dāng)前項(xiàng)目引入 puppeteer 目的就是為了模擬人工觸發(fā)頁(yè)面的情況。

總結(jié)

以上所述是小編給大家介紹的Nodejs中使用puppeteer控制瀏覽器中視頻播放功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 杭州市| 四平市| 军事| 江安县| 漳浦县| 通州区| 察隅县| 金平| 繁峙县| 肇州县| 彩票| 阳山县| 吴桥县| 秦皇岛市| 临洮县| 天峨县| 高淳县| 芒康县| 湖北省| 宜州市| 武川县| 南昌市| 沅陵县| 东阳市| 桑植县| 天峻县| 大厂| 通州市| 平乡县| 尚义县| 海晏县| 苗栗县| 常宁市| 克山县| 马公市| 大连市| 铜鼓县| 壤塘县| 山阴县| 卓尼县| 土默特右旗|