Все секреты компьютера для новичка и профессионала

Регулятор громкости Windows

Регулятор громкости Windows, такой привычный. Казалось бы — что в нём может быть интересного? Увеличил громкость звуков компьютера, уменьшил громкость звука компьютера… И всё же, давайте рассмотрим возможности значка громкости Windows немного шире.

Начиная с Windows Vista и далее (Windows 7, 8, 10) система стала позволять изменять громкость отдельных приложений, используя возможности микшера. Ведь часто бывает, когда какое-то приложение издаёт звуки явно громче и настойчивее других. Или наоборот, громкость накручена, а приложение что-то еле-еле мяукает. И, хотя в Windows предусмотрено несколько способов для тонкой и тщательной настройки параметров звука и нормализации громкости, мы не будем лезть слишком глубоко, а воспользуемся быстрыми и наглядными возможностями микшера.

Щелкните правой кнопкой мыши на значке динамика и выберите пункт «Открыть микшер громкости».

Открыть микшер громкости Windows

Пока ваши активные приложения ведут себя тихо, в микшере отображается только регулятор общей громкости и регулятор громкости системных звуков.

Регулятор общей громкости и регулятор громкости системных звуков Windows

Как только приложение начнёт издавать звуки – оно отобразится в микшере, и вы сразу же сможете регулировать его громкость, просто перетаскивая ползунок. Веб-браузеры, такие как Google Chrome, для каждой новой вкладки используют отдельный системный процесс, поэтому, если включить музыку на нескольких вкладках, в микшере каждая вкладка отобразится отдельно.

Микшер Windows

К сожалению, настройки громкости для каждого приложения не сохраняются и при следующем запуске приложения их надо будет регулировать снова. Система запоминает лишь общий уровень громкости (первый ползунок).

Более эффективный контроль над звуками Windows можно получить при помощи сторонних программ. Например, для Windows 10 есть маленькая бесплатная программа с открытым кодом под названием EarTrumpet (что в переводе обозначает «слуховая труба»). Она, мало того, что делает регулировку звуков нагляднее, так ещё и запоминает все уровни звуков, которые вы установили каждому приложению. И даже после перезагрузки компьютера все настройки сохраняются.

Скачать регулятор громкости Windows 10 можно тут, на сайте разработчиков. Нужный файл для скачивания называется Ear.Trumpet.Setup.exe

После установки EarTrumpet отображается в трее в виде маленького охотничьего рожка . При нажатии на него появляется панель со всеми регуляторами громкости, как если бы вы сразу зашли в микшер. Только ползунки в EarTrumpet расположены горизонтально. А ещё, программа позволяет контролировать звуки в большем количестве приложений, чем встроенный системный микшер.

Регулятор громкости EarTrumpet на рабочем столе Windows

Для предыдущих версий Windows — XP, 7, 8, тоже есть бесплатная программа, которая позволяет очень гибко управлять всеми звуками в системе. Это Volume². Скачать её можно тут.

Volume² — альтернативный регулятор громкости, который может полностью заменить стандартный регулятор громкости Windows. Volume² обеспечивает простую настройку горячих клавиш и событий мыши для управления громкостью. Также в ней есть простой планировщик задач, который позволяет запускать приложения или управлять громкостью. У данного приложения достаточно много поклонников и благодарных отзывов.

Если у вас есть какие-либо вопросы по настройкам компьютера – задавайте их в комментариях и я обязательно отвечу!

↑ Регулятор и микшер громкости формата Windows 7

Бесплатное приложение-твик Volume Control for Windows 11 – это единичный твик от разработчика комплексной программы-твикера Winaero Twеaker. Этот твик реализует в Windows 11 классический регулятор и микшер громкости формата Windows 7. Причём это нативный классический регулятор и микшер громкости Windows, он просто скрыт в современных версиях операционной системы и реализуется путём внесения твиком правки в системный реестр. Запускаем приложение-твик, и в системном трее у нас появляется отдельный староформатный регулятор громкости с вертикальным ползунком.

Регулятор содержит отсылку на микшер, и его мы получаем тоже формата Windows 7.

Если впоследствии нам надоест классический регулятор и микшер, в контекстном меню на его значке в системном трее снимаем его приложение с автозагрузки и закрываем приложение.

Если же вам больше нравится современный формат интерфейса Windows, вот вам целых два приложения из Microsoft Store, реализующих в Windows 11 регулятор и микшер громкости в современном стиле.

Программа Volume2

Программа Volume2 имеет два настраиваемых модуля. Один из них предназначен для контроля уровня звука, второй носит, скорее, декоративный характер — выводит на экран компьютера анимированный пикметр.

В число возможностей модуля контроля звука входит следующее:

  • Регулировка уровня громкости устройства воспроизведения (системный звук).
  • Регулировка уровня громкости в отдельных приложениях или запущенных процессах. Т.е. при помощи Volume2 можно отрегулировать громкость для каждой отдельной программы/процесса, не изменяя параметры звука в системе или других приложениях.
  • Предоставление возможности управления уровнем громкости колесиком мыши при наведении курсора определенный объект (задается пользователем) — панель задач, трей, рабочий стол и другие.
  • Управление громкостью звука курсором мыши у выбранных границ экрана. Например, пользователь переводит курсор мыши в левую часть экрана, а затем движением вверх или вниз прибавляет или убавляет звук.
  • Управление громкостью звука, различными параметрами работы аудио-карты и выполнение множества других действий (например, управление запущенным видеоплеером или даже яркостью экрана) при использовании горячих клавиш.
  • Выполнение различных действий со звуком, запуск программ, отображение сообщений на экране и т.д. по расписанию.
  • Замена стандартного индикатора громкости, вызываемого при использовании мультимедийных клавиш на клавиатуре (не путать с пикметром). В программе Volume2 предусмотрено множество красочных скинов для индикаторов звука со своими собственными настройками.
  • Замена стандартного/создание дополнительного индикатора громкости в системном трее. Здесь также имеется возможность установки одного из многочисленных скинов.
  • Замена оформления элементов оповещения Windows и другие.

В любой момент пользователь может запустить и настроить по своему вкусу вспомогательный модуль Volume2 Peak Meter (может работать отдельно). Его единственная задача — анимация текущего уровня громкости у выбранного устройство воспроизведения звука. Пользователю на выбор доступно множество различных скинов для пикметра. Его также можно сделать прозрачным и переместить в любую часть экрана.

Volume2 — стильный регулятор громкости

Если вы ярый меломан, который много сидит за компьютером, то наверняка часто слушаете на нем музыку, у вас установлен классный мультимедиа проигрыватель, который позволяет вам максимально удобно работать с вашей музыкальной коллекцией. Но может ли ваш проигрыватель дать вам возможность удобно и наглядно регулировать громкость? У многих пользователей ноутбуков есть такая возможность. Пользователям же стационарных компьютеров приходится хуже, так как громкость можно регулировать либо с мультимедийной клавиатуры, либо мышкой тыкать в «Регулятор громкости». Но существует еще один весьма неплохой и наглядный способ регулировать громкость с помощью колесика мышки, наведя курсор на панель задач. При этом на рабочем столе будет показываться большой и стильный регулятор, который покажет текущее состояние громкости. Все это можно сделать с помощью утилиты Volume2.

Программа позволяет достаточно гибко настроить регулятор громкости, включая его внешний вид на панели задач и рабочем столе. В настройках можно выбрать несколько вариантов отображения регулятора на рабочем столе вашего компьютера. Стоит заметить, что выглядят они весьма стильно!

Примеры регуляторов громкости в Volume2

Не стоит думать, что на этом возможности программы заканчиваются! Помимо красивого регулятора вы можете менять значения огромного количества самых разнообразных настроек. На вкладке «Основные» вы найдете список устройств, для которых можно изменять громкость, там же можно задать отдельное приложение, в котором следует регулировать громкость.

Основные настройки volume2

На вкладке «Системный трей» в Volume2 можно задать внешний вид и настройки индикатора, расположенного в области уведомлений (трее). Тут вы найдете множество самых разнообразных вариантов отображения индикатора, которые красиво меняются при изменении громкости. Главное, при использовании этого индикатора, отключить стандартный, чтобы в области часов был один, а не два индикатора.

Индикатор в трее volume2

В разделе «События мыши» можно настроить поведение мышки на иконке приложения в трее, способ изменения громкости с помощью колесика мышки и изменить ряд других настроек. Например, можно сделать так, чтобы громкость регулировалась колесиком мышки при наведении на заголовок окна или при наведении курсора на рабочий стол. По умолчанию эта настройка стоит в положении «Панелью задач», то есть при стандартных настройках громкость регулируется колесиком мышки при наведении курсора на панель задач.

Настройки мышки в volume2

Помимо управления громкостью программа Volume2 позволяет задавать различные дополнительные возможности, которые к громкости не имеют никакого отношения. Например, можно назначать горячие клавиши не только на управление громкостью, но и на управление яркостью экрана, извлекать диски из CD/DVD привода, а также безопасно извлекать USB-устройства. Еще одной интересной особенностью программы является возможность задавать расписание выполнения различных задач. Можно автоматизировать процесс выключения или снижения уровня громкости в определенное время суток, автоматически запускать приложения в заданное время, а также по расписанию показывать на экране сообщения.

В целом, Volume2 достаточно сильно напичкана самыми разнообразными настройками, которые могут показаться полезными некоторым меломанам. Естественно, программа полностью русифицирована (автор наш с вами соотечественник) и разобраться в настройках не составит труда, если у вас есть на это время и желание кастомизировать свою систему, сделав ее максимально удобной для работы и прослушивания музыки. Работает утилита под операционными системами Windows 7/Vista/XP.

Скетч

Поскольку приведённые схемы отличаются способом подключения кнопки, то и скетчи для них будут разные. Для первой схемы, то есть при использовании отдельного энкодера, нужный скетч уже есть в самой библиотеке. Называется он TrinketVolumeKnobPlus и находится в примерах:

Для модуля KY-040 используйте следующий скетч:

После заливки скетча в Digispark он появится в диспетчере устройств как HID устройство. Проверьте его работу, поворачивая ручку энкодера. Если при вращении по часовой стрелке громкость будет уменьшаться, значит, вам нужно поменять местами номера выводов, к которым он подключен. Для этого поправьте в самом начале скетча два «дефайна», должно получиться:

Ещё одна проблема, с которой вы можете столкнуться, это самопроизвольное срабатывание кнопки. Такое поведение говорит о том, что подтяжка вывода P1 недостаточна и номинал резистора нужно уменьшить.

Теперь остаётся поместить энкодер и Digispark в подходящий корпус и регулятор громкости готов! Как уже отмечалось, корпус можно выбрать из огромного числа, представленных на рынке. Просто просверлите в нём отверстия для провода и энкодера. Я же решил сделать корпус из дерева. Процесс изготовления и результат вы можете посмотреть в следующем видео. Думаю, получилось неплохо.

Подключение поворотного энкодера к компьютеру через USB

Давно хотел приспособить к ноуту регулятор громкости, сделанный из энкодера. Подключать этот регулятор нужно будет к USB, чтобы все было «по-взрослому» (да и по-другому никак внешнее устройство к ноуту не подключишь). Крутим энкодер влево — громкость должна уменьшаться, вправо — должна увеличиваться. Жмем вниз ручку энкодера — запускаем какую-нибудь полезную программу, или переключаемся на регулирование тембра.

Для тех, кто не в курсе, что такое энкодер — это такая крутилка, типа ручки громкости на основе обычного резистора, только у этой крутилки нет граничных положений — крути сколько влезет в любую сторону. Крутится энкодер с приятными мягкими щелчками, а выглядит как обычный переменный резистор.

image

Такие устройства — не редкость в совремеменных автомагнитолах и любых бытовых устройствах, пользовательский интерфейс которых обрабатывается микроконтроллером (а это почитай любая бытовая техника), и где нужна плавная регулировка или настройка. В энкодер часто встраивают и третий контакт, работающий как кнопка на ручке — когда утапливаем ручку энкодера вниз (вдоль оси), то эта кнопка срабатывает. Очень обогащает возможности интерфейса с пользователем — на одном энкодере можно построить всю систему управления электронным устройством (зато добавляется гемор программисту, но это уже мелочи). У меня как раз и был такой энкодер.

image

Принцип работы энкодера довольно прост — в нем всего лишь два контакта (кнопка на ручке не в счет), которые начинают замыкать, как только пользователь начал крутить ручку энкодера. Контакты подключаются к двум ножкам микроконтроллера (работающих как цифровые входы), и при вращении ручки энкодера на этих ножках появляются импульсы, по фазе и количеству которых микроконтроллер определяет направление вращения и угол поворота ручки энкодера.

Чтобы заработал регулятор громкости, нужно решить, как минимум, три инженерные задачи:

Шаг 1. Создание низкоскоростного USB-устройства на макетке.
Шаг 2. Подключить к этому USB-устройству энкодер, добиться, чтобы микроконтроллер его отрабатывал, и передавал в компьютер информацию о вращении энкодера.
Шаг 3. Разобраться, как можно программно управлять регулятором громкости. Наверняка есть какое-нибудь мультимедиа-API, которое позволяет это делать. Программа минимум — нужно написать программку, которая будет принимать сигналы от USB-устройства и управлять громкостью. Неплохо бы, конечно, написать драйвер, но за это браться страшновато. Лучше оставим на потом.

Итак, опишу процесс создания регулятора по шагам. Подробности опускаю, иначе будет слишком скучно. Кому интересно, см. исходники [6] и документацию по ссылкам.

[Шаг 1. Создание низкоскоростного USB-устройства на макетке]

Этот шаг прошел, даже не начавшись — как-то слишком просто и банально. Тупо скачал пример проекта по ссылке [1]. Поправил файлик usbconfig.h — для понтов назвал мое устройство ENCODER DEMO, на большее фантазии не хватило. Проверил в Makefile тип проца (ATmega16), частоту кварца (16 МГц) — чтобы соответствовало моей макетке AVR-USB-MEGA16. Скомпилил проект в AVRStudio, прошил макетку, подключил к компьютеру — все завелось с полоборота, мое USB-устройство исправно заработало как виртуальный COM-порт — все в точности так, как написано в статье [1].

[Шаг 2. Подключить к USB-устройству энкодер]

Этот шаг у меня вызывал самые большие опасения, что все заработает как надо. Что энкодер подключу и смогу его читать — в этом я не сомневался. Были сомнения, что смогу его считывать качественно, когда в фоне работает ещё и обработка протокола USB — все-таки это задача для микроконтроллера не из легких (как впоследствии оказалось — волновался я совершенно напрасно).

Как обычно, начал рыться в Интернете в поисках готовых подпрограмм для чтения энкодера. Нашел очень быстро то, что нужно — именно для AVR, очень простой код на C [2], файлики encoder.c и encoder.h. Что ни говори, а open source крутая штука.

Приделал два индикационных светодиода — ЗЕЛЕНЫЙ и ЖЕЛТЫЙ — для обозначения направления вращения энкодера. Подключил энкодер для удобства прямо к разъему ISP, воспользовавшись тем, что сигналы MOSI, MISO и SCK — это всего лишь ножки PB5, PB6 и PB7 микроконтроллера ATmega16 (подключил туда фазы A и B, а также кнопку энкодера).

image

Поправил определения ножек, добавил код инициализации. Присоединил к проекту модуль encoder.c. Добавил в главный цикл main управление зеленым и желтым светодиодами, когда приходит инфа с энкодера. КРАСНЫЙ светодиод привязал к кнопке энкодера — когда её нажимаем, красный светодиод зажигается, отпускаем — гаснет. Скомпилировал, прошил — работает. Кручу ручку влево, и в такт щелчкам энкодера вспыхивает зеленый светодиод. Кручу ручку вправо — вспыхивает желтый светодиод. Несмотря на то, что чтение энкодера происходит методом поллинга, благодаря эффективному коду к чтению энкодеру НИКАКИХ нареканий даже при одновременной работе с библиотекой V-USB (респект, Pashgan!). Добавил вывод информации от энкодера в виртуальный COM-порт (крутим энкодер влево вывожу в консоль минусики ‘-‘, крутим вправо вывожу в консоль плюсики ‘+’). По таймеру каждые 10 мс вывожу состояние кнопки энкодера и индицирую её красным светодиодом (кнопка нажата — передаю символ ‘1’, отпущена — ‘0’). Все работает. Скукотища.

image

В заключение выкинул модули cmd.c, crc16.c, eepromutil.c, strval.c. Объем кода упал до 3 килобайт — отлично, теперь поместится и в память ATtiny45 (можно в будущем задействовать макетку AVR-USB-TINY45, она меньше по размерам и дешевле).

[Шаг 3. Разобраться, как можно программно управлять регулятором громкости]

Как обычно, прогуглил вопрос. Отсеял кучу мусора, и наконец выгреб жемчужину — [3]. Дальше дело техники. Достаю любимый детский конструктор — Visual Studio. Ни о чем не думая, визардом генерю dialog-based приложение. Бросаю на панель движок регулятора громкости, привязываю к нему переменную, добавляю обработчик положения движка. При старте приложения настраиваю движок на минимум 0 и максимум 65535 (чтобы соответствовало границам значения громкости, которым манипулируют библиотеки управления микшером). Считываю функцией mixerGetControlDetails текущее значение громкости, и ставлю движок регулятора в соответствующее положение. В обработчике положения движка все наоборот — читаю положение движка и функцией mixerSetControlDetails устанавливаю нужную громкость. Управление громкостью делаю в точности так, как написано в статье [3]. Проверил — работает.

Теперь осталось дело за малым — читать, что приходит с виртуального COM-порта (на нём у нас висит свежеиспеченное USB-устройство с энкодером). Если пришел минусик (-) то двигаем движок влево (уменьшаем громкость), плюсик (+), то двигаем движок вправо (увеличиваем громкость). Если приходят символы 0 и 1, то соответственно управляем состоянием чекбокса (просто для индикации — нажата кнопка энкодера, или нет). С COM-портом можно работать, как с обычным файлом (см. [4]). Инициализируем подключение к COM-порту как открытие файла (вызовом ::CreateFile) в блокирующем режиме. Запускаем отдельный поток, туда в бесконечный цикл добавляем чтение файла (блокирующим вызовом ::ReadFile) по одному символу, и этот символ анализируем. По тому, какой символ пришел, крутим движок слайдера в нужную сторону (громкость будет регулировать обработчик слайдера) или обновляем состояние чекбокса. Проверил — работает.

image

Вот и все, собственно. Дальше можно заниматься бесконечным (и, наверное, бесполезным) улучшательством. Сделать автоматический поиск нужного виртуального COM-порта (сейчас для упрощения имя COM-порта передается через командную строку). Переделать USB-устройство с CDC-класса на HID — это может упростить код USB-устройства, а также упростить программный поиск и открытие устройства на компьютере по VID и HID. Или написать вместо программы сервис (чтобы не надо было запускать отдельную программу). Или даже драйвер. Это очень интересно, но не умею (может, кто из хабравчан научит уму-разуму. ). Прикрутить к кнопке энкодера какое-нибудь действие. Ну и так далее до бесконечности.

Надеюсь, кому-нибудь мои изыскания пригодятся в собственных разработках. Если чего-нибудь упустил, буду рад выслушать замечания в комментариях.

Один грамотный человек собрал на микроконтроллере AVR регулятор громкости — USB HID устройство, эмулирующее стандартную мультимедийную клавиатуру (как предлагалось в комментариях). Такая клавиатура имеет возможность регулировать громкость без дополнительного программного обеспечения, всю необходимую работу выполняет драйвер операционной системы.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector