Увеличение громкости звука (YouTube flash) видео с помощью JavaScript
история: многие пользователи (включая меня) просматривают веб-страницы из ноутбуков, которые не предназначены для звуковой производительности. Это означает (помимо всего прочего), что громкость звука для большинства видео слишком низкая, особенно если само видео записано на низкой громкости.
...
Мне было интересно, есть ли способ увеличить объем такого видео (особенно Youtube, но может быть распространен на другие типы), потому что я заинтересован в том, чтобы сделать это и даже опубликовать его как Firefox/Chrome/другой плагин браузера.
или, в качестве альтернативы, если вы знаете такой плагин, не стесняйтесь размещать здесь ссылку.
4 ответов
если вы хотите контролировать системный том, то JavaScript не имеет прямого доступа к нему, вам нужно будет написать плагин NPAPI (c++ dll).
если вы хотите просто настроить собственный объем видеоплеера (вы не сможете увеличить его более 100%), то JavaScript может это сделать, возможно.
если видеоплеер HTML5 <video>
бирка после этого контролируя том легка. Для YouTube это будет:
document.getElementsByClassName("video-stream")[0].volume = 0.5; //50%
если это изготовленный на заказ flash player, то вам нужно полагаться на его Интерфейс JavaScript, если таковой имеется. Youtube player поддерживает управление громкостью с помощью JavaScript:
document.getElementById("movie_player").setVolume(50);
для того, чтобы это работало, вам нужно будет сначала вырваться из песочницы расширения, впрыснув <script>
метка на странице с этим кодом.
нет универсального решения, вам нужно будет иметь дело с каждым сайтом индивидуально.
можно использовать Яш-под для изменения уровня громкости системы. Вот пример, который устанавливает объем до 12,5%:
Components.utils.import("resource://gre/modules/ctypes.jsm");
var lib = ctypes.open("winmm.dll");
var waveOutSetVolume = lib.declare("waveOutSetVolume", ctypes.default_abi,
ctypes.uint32_t,
ctypes.int32_t, ctypes.uint32_t);
waveOutSetVolume(-1, 0x20002000);
lib.close();
однако это только изменяет громкость для процесса Firefox. Это не повлияет на Flash, потому что теперь он работает в другом процессе. Я даже не уверен, что winmm имеет какой-то способ изменить глобальный объем вообще, вам может понадобиться новый API для MMDevice для этого - и тогда это становится сложным, потому что делать COM-вызовы через JS-ctypes IMHO невозможны. Единственный вариант-создать собственную библиотеку для распространения вместе с расширением. Это должно сделать обмен сообщениями COM и экспортировать простой API, который можно вызвать через JS-ctypes.
вы можете использовать программное обеспечение Sound Booster от Letasoft, но есть некоторые вещи, которые вы можете столкнуться, как аварии, мы используем нетбуки, так что встроенная звуковая карта имеет предел. Так что попробуйте бафф сначала, прежде чем играть это лучший совет, который я могу дать. Максимальная громкость будет 500%.