Youtube Music fix volume ratio

Makes the YouTube music volume slider exponential so it's easier to select lower volumes.

目前为 2020-03-10 提交的版本。查看 最新版本

// ==UserScript==
// @name         Youtube Music fix volume ratio
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Makes the YouTube music volume slider exponential so it's easier to select lower volumes.
// @author       Marco Pfeiffer <[email protected]>
// @match        https://music.youtube.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const player = document.querySelector('ytmusic-player-bar');

    if (!player) {
        console.error("I failed you");
    }

    function manipulate () {
        const setVolume = player.playerApi_.setVolume;

        // if the player isn't ready yet try again
        if (!setVolume) {
            console.log("player wasn't ready, try again");
            setTimeout(manipulate, 10);
            return;
        }

        player.playerApi_.setVolume = function (volume) {
            const newVolume = (volume / 100) ** 2 * 100;
            console.log('manipulated volume', volume, newVolume);
            return setVolume.call(this, newVolume);
        };
    }

    manipulate();
})();