Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
admsasha
14 / 14 / 4
Регистрация: 11.06.2011
Сообщений: 212
#1

как изменить системную громкость ? - C++

13.03.2012, 18:37. Просмотров 2049. Ответов 1
Метки нет (Все метки)

Что-то очень мало информации про это
пробовал двумя способами:
1. waveOutSetVolume(0,MAKELONG(LOWORD(00000),LOWORD(00000)));
2. SetVolume_(0xFFFF,0xFFFF);

Эффекта вообще нет никакого. Нужно для XP и для windows7. Может кто-то занимался этим, подскажите, как это реализуется ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2012, 18:37     как изменить системную громкость ?
Посмотрите здесь:
Как определить системную дату? C++
Как считать системную дату? C++
Как взять громкость звукового файла в определенный момент времени? C++
C++ Узнать системную дату
Перемещение программы при запуске в системную директорию C++
Выводит системную дату в файл в миллисекундах, не смотря на работу фунцкии localtime C++
Как изменить размер динамического массива структур после того как был добавлен товар C++
Как отсортировать и изменить? C++
Как изменить условие C++
Как изменить шаг на 2? C++
Как изменить размер компонентов? C++
C++ Как изменить выводное окно?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
13.03.2012, 21:07     как изменить системную громкость ? #2
для windows7
MSDN Core Audio API
...начиная с Vista, метод управления звуком изменился. Управлять звуком можно как на глобальном уровне, так и изменяя только свой звуковой поток. Для работы нужны несколько интерфейсов: IMMDeviceEnumerator (коллекция устройств), IMMDevice (представляет одной устройство), IAudioEndpointVolume (для управления громкостью). Используйте mmDeviceApi.h и EndpointVolume.h.

Под XP http://msdn.microsoft.com/en-us/libr...v=vs.85).aspx:
C
1
2
3
4
5
6
7
8
9
#include "mmsystem.h"
 
...
TWaveOutCaps Woc;
....
  if (WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) == MMSYSERR_NOERROR)
{
    if (Woc.dwSupport && WAVECAPS_VOLUME == WAVECAPS_VOLUME) WaveOutSetVolume(WAVE_MAPPER, AVolume);
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru