Automatically mutes the Twitch player when an advertisement started and unmute it once finished.
当前为
// ==UserScript==
// @name Twitch - Mute ads
// @namespace TWITCHADS
// @description Automatically mutes the Twitch player when an advertisement started and unmute it once finished.
// @include https://www.twitch.tv/*
// @include https://twitch.tv/*
// @version 1.0
// @license MIT
// @author Harest
// @grant none
// ==/UserScript==
var _tmuteVars = { "timerCheck": 1000, // Checking rate of ad in progress
"playerMuted": false, // Player muted or not
"adsDisplayed": 0 // Number of ads displayed;
};
// Check if there's an ad
function checkAd()
{
var advert = document.getElementsByClassName('twitch-stitched-ad');
//if (advert.length == 0) advert = document.getElementsByClassName('player-ad-notice'); // fallback test
if ((advert.length >= 1 && _tmuteVars.playerMuted === false) || (_tmuteVars.playerMuted === true && advert.length === 0))
{
console.log(advert);
mutePlayer();
}
}
// (un)Mute Player
function mutePlayer()
{
if (document.getElementsByClassName("player-button--volume").length >= 1)
{
document.getElementsByClassName("player-button--volume")[0].click();
_tmuteVars.playerMuted = !(_tmuteVars.playerMuted);
if (_tmuteVars.playerMuted === false)
{
_tmuteVars.adsDisplayed++;
console.log("Ad #" + _tmuteVars.adsDisplayed + " detected. Player muted.");
} else {
console.log("Ad #" + _tmuteVars.adsDisplayed + " finished. Player unmuted.");
}
} else {
console.log("No volume button found (class changed ?).");
}
}
_tmuteVars.autoCheck = setInterval(checkAd, _tmuteVars.timerCheck);