Skip to content
Snippets Groups Projects
bbb-volume-slider.user.js 1.19 KiB
Newer Older
  • Learn to ignore specific revisions
  • Daniel Müller's avatar
    Daniel Müller committed
    // ==UserScript==
    // @name         BBB Volume Slider
    // @website      https://code.fbi.h-da.de/istddmue2/bbb-volume-slider-userscript
    // @version      0.1
    // @description  Adds a volume slider
    // @author       Daniel Müller
    // @match        https://*.h-da.de/html5client/join*
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        // Check if the volume slider exists
        if (document.getElementById("vs-container") != null) return;
    
        // Create the container
        let vsc = document.createElement("div")
        vsc.id = "vs-container"
        vsc.style.position = "absolute"
        vsc.style.top = "20px"
        vsc.style.right = "75px"
    
        // Create the actual slider
        let vs = document.createElement("input")
        vs.type = "range"
        vs.min = 1
        vs.max = 100
    
    Daniel Müller's avatar
    Daniel Müller committed
        vs.value = 30
    
        // Set the audio volume to default value. This needs to be delayed due to BBB audio stream stuff
        window.setTimeout(() => {
            document.getElementById("remote-media").volume = Math.pow(vs.value / 100.0, 2)
        }, 1000)
    
    Daniel Müller's avatar
    Daniel Müller committed
    
        vs.oninput = function() {
            document.getElementById("remote-media").volume = Math.pow(this.value / 100.0, 2)
        }
    
        vsc.append(vs)
        document.body.appendChild(vsc)
    
    })();