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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:35:25
字體:
來源:轉載
供稿:網友

本項目主要功能為在瀏覽器中自動播放視頻,并且實現音量控制,快進快退,全屏控制,播放暫停控制等功能。

倉庫地址:  github.com/hapiman/chr…

安裝靜態服務器

如果電腦上存在nodejs的環境,可以直接安裝 anywhere 來訪問 index.html 頁面。 進入項目根目錄,執行命令: anywhere ,然后瀏覽器會自動打開 http://localhost:8000 頁面。

使用puppeteer自動化執行命令

通過在 nodejs 調用前端頁面的方法,然后能夠Socket實現遠程控制瀏覽器的視頻播放。

具體功能實現

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 } // 快進 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 } // 頁面加載之后執行命令 function start() {  var myVideo = getVideo()  myVideo.volume = 1  myVideo.playbackRate = 1 } // 設置靜音 function setMuted() {  getVideo().muted = true } // 設置非靜音 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() } // 打開全屏 function openFull() {  getVideo().webkitRequestFullscreen() } // 音量 -- function reduceVolume() {  console.log('reduceVolume:: current volume: ', myVideo.volume) // 當前音量  getVideo().muted = false  if (_volumeNum <= 0) return  _volumeNum = accSub(_volumeNum, 0.1)  getVideo().volume = _volumeNum } // 音量 ++ function addVolume() {  console.log('addVolume:: current volume: ', myVideo.volume)  // 當前音量  getVideo().muted = false  if (_volumeNum >= 1) return  _volumeNum = accAdd(_volumeNum, 0.1)  getVideo().volume = _volumeNum }

遇到的問題

關于人工觸發

打開網頁的時候,autoplay可以自動播放,但是是靜音模式,從76版本開始,chrome瀏覽器安全機制不再允許有聲自動播放視頻。

同樣的,處于安全考慮,瀏覽器也不能夠在沒有用戶操作的情況,通過接口設置為全屏。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 南开区| 北碚区| 启东市| 策勒县| 河间市| 那曲县| 香港 | 长治县| 宁安市| 马龙县| 石林| 望谟县| 江门市| 东辽县| 隆林| 南澳县| 凤城市| 乐都县| 大丰市| 汾西县| 韶山市| 蕉岭县| 北海市| 绥江县| 布拖县| 桂平市| 平谷区| 宜川县| 常山县| 大洼县| 昔阳县| 昭苏县| 日土县| 邵阳市| 咸阳市| 清河县| 大丰市| 会东县| 康平县| 沽源县| 静乐县|