Как программно установить громкость в Windows, Mac и Ubuntu?

Я хотел бы программно установить громкость в Windows, Mac и Ubuntu, используя C/C++. Командная строка также может, но C / C++ предпочтительнее. Заранее спасибо!

3 ответа

Подсказка: в Windows философия изменения громкости изменилась между XP и Vista/7. Код, который изменит основной уровень громкости в XP, изменит только настройку громкости конкретного приложения в микшере в Vista и 7.

Вот хорошая запись в блоге одной из разработчиков MS audio по этому поводу: Блог Ларри Остермана

Вот некоторые страницы кода проекта, которые могут оказаться полезными:

Для XP

Для Vista +

Кроме того, здесь есть несколько презентаций 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++:

http://blogs.msdn.com/b/larryosterman/archive/2007/03/06/how-do-i-change-the-master-volume-in-windows-vista.aspx

Другие вопросы по тегам