Greasy Fork

Greasy Fork is available in English.

百度网盘视频倍速播放

简单的倍速播放脚本,小白作品,欢迎提意见

当前为 2020-06-16 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         百度网盘视频倍速播放
// @namespace    baidupan-playspeed-control
// @version      1.3.0
// @update       2020/6/17
// @description  简单的倍速播放脚本,小白作品,欢迎提意见
// @github       https://github.com/vikiboss/baidupan-playspeed-control
// @author       vikiboss (https://github.com/vikiboss)
// @grant        none
// @license      MIT
// @include      *://pan.baidu.com/s*
// @include      *://pan.baidu.com/play*
// @include      *://pan.baidu.com/disk/home*
// @include      *://yun.baidu.com/s*
// @include      *://yun.baidu.com/disk/home*
// ==/UserScript==

(function () {
  'use strict';
  // === 随窗口加载后调用本方法 ===
  window.onload = function () {
    // === 按钮界面选项(可根据你的需要自行按照格式修改) ===
    var options = [
      { str: '慢速(x0.5)', rate: 0.5 },
      { str: '较慢(x0.75)', rate: 0.75 },
      { str: '标准(x1.0)', rate: 1.0 },
      { str: '中速(x1.25)', rate: 1.25 },
      { str: '快速(x1.5)', rate: 1.5 },
      { str: '极速(x2.0)', rate: 2.0 },
      { str: '自定义' },
    ];

    // === 定义生成"倍速按钮"的函数 ===
    var generateBtn = function (rateStr, rate) {
      var btn = document.createElement('a');
      btn.className = 'g-button';
      btn.setAttribute('title', '调节播放速度');
      rate = rate || 1.0;
      btn.onclick = function () {
        var DOMrate = window.videojs.getPlayers('video-player').html5player
          .tech_;
        if (rateStr === '自定义') {
          rate = prompt('请输入介于0-5的播放倍速:');
          rate = rate <= 0 || rate > 5 ? DOMrate.playbackRate : rate;
        }
        DOMrate.setPlaybackRate(rate);
      };

      var btnInnerHtml = `<span class="g-button-right">
          <em class="icon icon-speed"></em>
          <span class="text" style="width: auto;">${rateStr}</span>
        </span>`;
      btn.innerHTML = btnInnerHtml;
      return btn;
    };

    // === 去除带有"开通SVIP"提示且会除遮挡按钮的div框 ===
    var vip = document.getElementsByClassName('privilege-box')[0];
    vip.style.display = 'none';

    // === 在原网页的DOM中插入定义了的倍速按钮 ===
    var div = document.getElementsByClassName('video-toolbar-buttonbox')[0];
    var btns = options.map(function (option) {
      return generateBtn(option.str, option.rate);
    });
    btns.forEach(function (node) {
      div.append(node);
    });

    // === 去除多余按钮 ===
    div.childNodes[2].style.display = 'none';
    div.childNodes[3].style.display = 'none';
  };
})();