自己完成的3.0

// ==UserScript==
// @name         修改B站视频播放速度3.0
// @namespace    http://tampermonkey.net/
// @version      3.0
// @description  自定义B站视频播放速度
// @author       武幻空
// @match        https://www.bilibili.com/video/*
// @icon         https://www.bilibili.com/favicon.ico?v=1
// @grant        none
// ==/UserScript==

let autoAdjust = true; // 控制自动调整的开关

function toggleAutoAdjust() {
    autoAdjust = !autoAdjust; // 切换状态
    const button = document.querySelector('.toggle_button');
    button.textContent = autoAdjust ? '暂停自动调整' : '启用自动调整'; // 更新按钮文本
}

function solve() {
    var tmp = document.getElementsByClassName('video-info-detail-list')[0];
    var addd = document.createElement("span");
    var att = document.createAttribute("class");
    att.value = "bbb";
    addd.setAttributeNode(att);

    addd.innerHTML = `
        <input type="text" value=1.0 placeholder="1.0" size=4 class="input_speed">
        <button type="button" class="speed_rate_button000" onclick='(function(){document.querySelector("video").playbackRate = document.getElementsByClassName("input_speed")[0].value;})()'>确定</button>
        <button type="button" class="toggle_button">切换自动调整</button>`;

    tmp.appendChild(addd);

    // 绑定 toggleAutoAdjust 函数到按钮的点击事件
    document.querySelector('.toggle_button').addEventListener('click', toggleAutoAdjust);
}

setTimeout(function() { solve(); }, 2000);

setInterval(function() {
    if (autoAdjust) {
        if (document.getElementsByClassName("input_speed")[0].value <= 0) {
            document.querySelector("video").playbackRate = 1.0;
        } else if (document.querySelector("video").playbackRate !== document.getElementsByClassName("input_speed")[0].value) {
            document.querySelector("video").playbackRate = document.getElementsByClassName("input_speed")[0].value;
        }
    }
}, 2000);

chatgpt优化后的4.0

// ==UserScript==
// @name         修改B站视频播放速度4.0
// @namespace    http://tampermonkey.net/
// @version      4.0
// @description  自定义B站视频播放速度
// @author       武幻空
// @match        https://www.bilibili.com/video/*
// @icon         https://www.bilibili.com/favicon.ico?v=1
// @grant        none
// ==/UserScript==

let autoAdjust = true; // 控制自动调整的开关
const videoElement = document.querySelector('video');
let speedInput, toggleButton;

const updatePlaybackRate = () => {
    const speed = parseFloat(speedInput.value);
    videoElement.playbackRate = speed > 0 ? speed : 1.0;
};

const toggleAutoAdjust = () => {
    autoAdjust = !autoAdjust;
    toggleButton.textContent = autoAdjust ? '暂停自动调整' : '启用自动调整'; // 更新按钮文本
};

const createControls = () => {
    const videoInfo = document.getElementsByClassName('video-info-detail-list')[0];
    const controlsContainer = document.createElement("span");
    controlsContainer.className = "bbb";

    controlsContainer.innerHTML = `
        <input type="text" value="1.0" placeholder="1.0" size="4" class="input_speed">
        <button class="speed_rate_button000">确定</button>
        <button class="toggle_button">暂停自动调整</button>
    `;

    speedInput = controlsContainer.querySelector('.input_speed');
    toggleButton = controlsContainer.querySelector('.toggle_button');

    toggleButton.addEventListener('click', toggleAutoAdjust);
    controlsContainer.querySelector('.speed_rate_button000').addEventListener('click', updatePlaybackRate);
    
    videoInfo.appendChild(controlsContainer);
};

setTimeout(createControls, 2000);

setInterval(() => {
    if (autoAdjust) {
        updatePlaybackRate();
    }
}, 2000);