Как программно установить громкость в Windows, Mac и Ubuntu?
Я хотел бы программно установить громкость в Windows, Mac и Ubuntu, используя C/C++. Командная строка также может, но C / C++ предпочтительнее. Заранее спасибо!
3 ответа
Подсказка: в Windows философия изменения громкости изменилась между XP и Vista/7. Код, который изменит основной уровень громкости в XP, изменит только настройку громкости конкретного приложения в микшере в Vista и 7.
Вот хорошая запись в блоге одной из разработчиков MS audio по этому поводу: Блог Ларри Остермана
Вот некоторые страницы кода проекта, которые могут оказаться полезными:
Кроме того, здесь есть несколько презентаций PowerPoint, касающихся новых API: AMP Summit ppts. Конечные точки аудио в презентации Windows Vista содержат полезную информацию.
Что касается OsX и Ubuntu, я понятия не имею.
Для Linux, использующего звуковую систему ALSA, вы можете использовать следующую команду:
amixer set Master 50%
Для полноты картины вот версия OSX cli:
osascript -e "set volume output volume (output volume of (get volume settings)+2)"
А на стороне С это сложнее. Из всего, что я обнаружил, исследуя это, самый простой способ - это использовать один из доступных ответов на целевые задачи C и обернуть их в функцию в дополнительный объект, который вы можете вызвать из C/C++.
Вот статья (с кодом) о настройке мастер громкости в Vista с C / C++: