Фильтруем аудиозаписи с плохим качеством.
Уровень сложности: выше среднего.
Итак, приступим.
Все мы сталкивались с проблемой поиска аудио с приличным качеством - 320 кбит/с или выше. Но при вводе названия любимой композиции ВК получали 90% шлака, ремиксов и прочей 128 кбит/с лабуды.
Есть много способов определить битрейт песни, начиная от стандартного значка "hq" в списке композиций и заканчивая разными приложениями, которые показывают битрейт песни.
Минут 10 гуглил и пытался найти что-то похожее на отсеиватель, но тщетно. (кстати, если кому-нибудь известна программа-отсеиватель-композиций-с-плохим-качеством, то ткните меня, буду только рад). В итоге залез в код скрипта SaveFrom.Net (так вообще можно было? ЭТО НЕ РЕКЛАМА!) и, немного покапавшись, нашел лазейку. Она неидеальна, но лучше, чем было.
Работает это так:
Наводим курсор на любую композицию и вуа-ля! Остались только "hq" треки >320 кбит/с
Что нужно сделать?
Тестировал на Chrome, на счёт работоспособности других браузеров не в курсе.
Нужно забраться в редактор скрипта Tampermonkey и нажать "панель".
Затем выбрать SaveFrom.Кхм, чтобы открыт редактор кода. Выполнить 5 простых шагов.
1. Найти переменную vkShowBitrate и выставить значение 1
vkShowBitrate: 1,
2. Найти строчку if (preference.vkShowBitrate === 1) - это начало некой функции
Некая функция:
1. if (preference.vkShowBitrate === 1) {
2. if (!dlBtn.dataset.preloadBitrate) {
3. dlBtn.dataset.preloadBitrate = 1;
4.
5. _this._preloadNewTrackUrl(dlBtn).then(function(url) {
6. dlBtn.dataset.preloadBitrate = 2;
7. dlBtn.href = url;
8.
9. return _this._onOverInsertBitrate(dlBtn);
10. }).catch(function(e) {
11.
12. });
13. }
14. }
15. },
строчки пронумерованы для удобства
3. В пустую строчку №8 вставить код:
var k = document.getElementsByClassName('audio_row audio_row');
for (var i = 0; i < k.length; i ++)
if (!k[i].classList.contains('hq')) k[i].style.display = 'none';
4. Должно выглядеть так
1. if (preference.vkShowBitrate === 1) {
2. if (!dlBtn.dataset.preloadBitrate) {
3. dlBtn.dataset.preloadBitrate = 1;
4.
5. _this._preloadNewTrackUrl(dlBtn).then(function(url) {
6. dlBtn.dataset.preloadBitrate = 2;
7. dlBtn.href = url;
8. var k = document.getElementsByClassName('audio_row audio_row');
9. for (var i = 0; i < k.length; i ++)
10. if (!k[i].classList.contains('hq')) k[i].style.display = 'none';
11. return _this._onOverInsertBitrate(dlBtn);
12. }).catch(function(e) {
13.
14. });
15. }
16. }
17. },
5. Сохраняем.
Теперь при наведении мышкой на любую композицию все песни с плохим качеством исчезнут.
И ещё одно. В плейлист всё равно добавляются ВСЕ песни, даже которые исчезли, т.к. быдлокод.
Спасибо за внимание и понимание. Может кому пригодится.