91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-09 17:45:27 來源:腳本之家 閱讀:376 作者:大漠胡蘿卜 欄目:web開發

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

倉庫地址:  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瀏覽器安全機制不再允許有聲自動播放視頻。

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

當前項目引入 puppeteer 目的就是為了模擬人工觸發頁面的情況。

總結

以上所述是小編給大家介紹的Nodejs中使用puppeteer控制瀏覽器中視頻播放功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄石市| 宁乡县| 封开县| 台东县| 乐清市| 泽州县| 蒙山县| 邳州市| 曲水县| 揭东县| 河间市| 洛阳市| 久治县| 鄂伦春自治旗| 龙江县| 武威市| 拜泉县| 嘉禾县| 高陵县| 乌兰察布市| 重庆市| 柳河县| 南京市| 敦化市| 平陆县| 友谊县| 图木舒克市| 靖边县| 神木县| 夏邑县| 乌海市| 定结县| 茶陵县| 黑龙江省| 彰化县| 若尔盖县| 焦作市| 广灵县| 玉树县| 武穴市| 天津市|