// ==UserScript==
// @name VK Скорость музыки
// @namespace VKPLRATE
// @description Добавляет на vk.com скорость воспроизведения музыки.
// @include https://vk.com/*
// @grant none
// @version 1.1
// @supportURL alexshiry1@gmail.com
// @downloadURL none
// ==/UserScript==
var allowsetval=false;
range=document.createElement("span"); //Создание элемента span
range.innerHTML='Playback rate:1'; //Присваивание основных компонентов
range.style.position='fixed';// Стили
range.style.bottom='0';
range.style.left='0';
range.style.zIndex='99999999';
document.body.append(range);// Добавление в конец body
window.addEventListener('load',function(){//Событие на полную загрузку страницы
if(localStorage.getItem('plrate')!==undefined){
range.querySelector('input').value=parseInt(localStorage.getItem('plrate'));//Восстановление значения из localstorage
}else{
range.querySelector('input').value=1;//Если нет значения, то значение по умолчанию 1 (нормальная скорость)
}
allowsetval=true;
});
setInterval(function(){//Проверка через каждые 0,1 сек.
if(allowsetval===true){
try{
if(getAudioPlayer()._impl._currentAudioEl.playbackRate!=range.querySelector('input').value){//Если скорость в аудиоплеере не совпадает со скоростью ползунка
getAudioPlayer()._impl._currentAudioEl.playbackRate=range.querySelector('input').value;//Присвоить новую скорость
localStorage.setItem('plrate',range.querySelector('input').value);//Сохранить новую скорость в localstorage
document.querySelector('.pl_rateval').innerText=range.querySelector('input').value;//Отобразить значение скорости рядом с ползунком
}
}catch(e){}//Подавление ошибки
}
},100);