自定义视频播放速度

允许自定义视频播放速度

目前為 2023-07-14 提交的版本,檢視 最新版本

// ==UserScript==
// @name         自定义视频播放速度
// @version      2.0
// @description  允许自定义视频播放速度
// @author       ChatGPT
// @match        http://*/*
// @match        https://*/*
// @grant        GM_setValue
// @grant        GM_getValue
// @run-at      document-end
// @namespace https://gf.qytechs.cn/users/452911
// ==/UserScript==

function setVideoSpeed() {
  'use strict';
  
  let videos = document.querySelectorAll('video,[class*="player"] *');
  if (videos.length > 0) {
    (function() {

  'use strict';

  let defaultSpeed = 1;
  let currentSpeed = defaultSpeed;

  let savedSpeed = GM_getValue('videoSpeed');
  if (savedSpeed) {
    defaultSpeed = parseFloat(savedSpeed);
    currentSpeed = defaultSpeed; 
  }

  let videos = document.querySelectorAll('video,[class*="player"] *');
  for (let i = 0; i < videos.length; i++) {
    videos[i].playbackRate = currentSpeed;
  }

  let control = document.createElement('div');
  control.textContent = '倍速控制';
  control.style.cssText = `
    position: fixed;
    right: 5px;
    top: 30px;
    padding: 2px; 
    background: #ddd;
    border: 1px solid #999;
    cursor: pointer;
    z-index: 9999;
  `;

  document.body.appendChild(control);

  control.addEventListener('click', () => {
    let newSpeed = prompt('请输入新的播放倍速:', currentSpeed);
    if (newSpeed) {
      saveSpeed(newSpeed);
      updateSpeed(newSpeed);
    }
  });

  function updateSpeed(newSpeed) {
    for (let i = 0; i < videos.length; i++) {
      videos[i].playbackRate = newSpeed;
    }
    currentSpeed = newSpeed;
  }

  function saveSpeed(newSpeed) {
    GM_setValue('videoSpeed', newSpeed);
  }

  window.addEventListener('speedChanged', (e) => {
    let newSpeed = e.data;
    updateSpeed(newSpeed);
  });

  let iframes = document.querySelectorAll('iframe');
  iframes.forEach(applySpeed);

  function applySpeed(iframe) {
    let doc = iframe.contentDocument;
    let videos = doc.querySelectorAll('video,[class*="player"] *');
    videos.forEach(v => v.playbackRate = currentSpeed);
    let iframes = doc.querySelectorAll('iframe');
    iframes.forEach(applySpeed);
  }

})();
  } 
}

document.addEventListener('touchstart', () => {
  setVideoSpeed(); 
});

setVideoSpeed();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址