Как изменять громкость, установленную в системе?

Тема в разделе "Библиотеки и интерфейсы", создана пользователем WishMaster, 10 ноя 2006.

  1. WishMaster

    WishMaster New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2006
    Сообщения:
    54
    Адрес:
    Ukraine
    С помощью DirectSound выводится звук. В программе должен быть регулятор громкости, который позволял бы регулировать громкость вывода звука от 0 до максимально возможного. При использовании стандартной функции DirectSound'a SetVolume() можно регулировать изменение громкости вывода только от 0 до уровня громкости, установленного в данный момент в системе. Последний определяется комбинацией ползунков "Громкость" и "Звук" в программе "Громкость", вызываемой при двойном нажатии на значке звука в трее. Соответсвенно, для обеспечения возможности регулирования громкости звука в полном диапазоне необходимо изменять програмно положения двух этих системных ползунков, установив уровень SetVolume(0). В том, каким образом програмно изменять положение этих системных ползунков, и состоит мой вопрос.
    Заранее благодарен.
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    WishMaster
    Во-первых, DirectSound не позволяет задавать бОльший уровень, чем в системном миксере (ползунок "Громкость") по обьективным причинам: юзер обычно не желает, чтобы программы воспроизводили звук громче этого топового значения. Тем не менее, если Вы настаиваете, можете достучаться до миксера через winmm - там есть для этого функции. Кажется, WinAmp так делает.
     
  3. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    В масме
    \masm32\examples\bcraven\mvolume\
    лежит пример, который как-то это делает.