Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 10 / 3
Регистрация: 12.05.2013
Сообщений: 187

Определить уровень громкости в системе

10.01.2015, 00:25. Показов 2387. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток... Люди подскажите как получить число на сколько сейчас включен звук .. ) Чёт очень много пролазил .. но нашёл только если с windows media player делать.. но он мне не нужен и лишнии библиотеки тоже... пользую данный код для изменения громкости звука... не могу просто цифру получить (

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Imports System.Runtime.InteropServices
 
Public Class Form1
 
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
    End Function
 
    Const WM_APPCOMMAND As UInteger = &H319
    Const APPCOMMAND_VOLUME_UP As UInteger = &HA
    Const APPCOMMAND_VOLUME_DOWN As UInteger = &H9
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Громкость +
        SendMessage(Me.Handle, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000)
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' Громкость -
        SendMessage(Me.Handle, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_DOWN * &H10000)
    End Sub
End Class
Добавлено через 3 часа 59 минут
В принципе уже не надо.. Написал по другому... Всё же если у кого время есть плз ... Ответ будет полезен в будущем...
Заранее благодарен ...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2015, 00:25
Ответы с готовыми решениями:

Как узнать уровень громкости Windows 7 ?
Пожалуйста.

Можно ли сделать регулятор громкости полностью синхронным с системным регулятором громкости
Ну во первых всех С Новым Годом!!! и всех благ. Теперь вопрос можно ли сделать регулятор громкости полностью синхронным с системным...

Как сделать чтобы уровень змейки и уровень яблока совпадал?
Здравствуйте. Как сделать чтобы уровень змейки и уровень яблока совпадал?

4
Модератор
Эксперт .NET
 Аватар для Yury Komar
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
15.01.2015, 20:36
AntiCat, в NET есть библиотека для работы с мультимедиа... в ней и громкость захвачена помоему
0
 Аватар для Юпатов Дмитрий
1721 / 1208 / 228
Регистрация: 23.12.2010
Сообщений: 1,544
16.01.2015, 19:02
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Yury Komar Посмотреть сообщение
NET есть библиотека для работы с мультимедиа
directaudio, да? но она же общую громкость в системе не меняет...
Цитата Сообщение от AntiCat Посмотреть сообщение
В принципе уже не надо.. Написал по другому...
Делись А то ты не один в инете этот вопрос задал.
Есть еще вариант, но подразумевает библу. Гаджет VolumeControl для рабочего стола 7ки. Там есть библа SoundControl.dll - я как -то ее подключал к проекту, работает в целом. Справки к ней нет, но можно в теле гаджета найти вызовы ее членов. Вот выкладываю гаджет в виде ZIP (если кто хочет юзать его по прямому назначению - смените расширение архива на .gadget и установите (собственно, гаджеты рабочего стола - самые ZIP-ы и есть).
Вложения
Тип файла: zip VolumeControl.zip (31.8 Кб, 46 просмотров)
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
18.01.2015, 18:55
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Полагаю, если без библиотек, то нужно использовать WinAPI-шную функцию waveOutGetVolume, но я не смог привести код, переведённый из С++, в рабочее состояние.
C++
1
2
3
4
5
6
7
8
9
10
DWORD volume;
HWAVEOUT hwo;
// retrieve the handle
waveOutGetVolume(hwo, &volume);
// don't forget to check for errors
 
WORD left_channel_volume = volume & 0xffff;           // extract the low order word
WORD right_channel_volume = (volume >> 16) & 0xffff;  // extract the high order word
 
unsigned left_volume_percent = left_channel_volume / 0xffff;
Как видите, полученный из waveOutGetVolume результат разделяют на две части, каждая из которых определяет громкость на одном из динамиков.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
18.01.2015, 20:20
tezaurismosis, где-то есть у меня тоже самое для vb6, переделать в пять сек. Найду. Скину. Хорошая штука. Там в примере полный набор работы со звуком включая то что у вас на с++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2015, 20:20
Помогаю со студенческими работами здесь

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

Какая прога может пакетно вычислить средний уровень громкости звука и поднять на заданный уровень?
Я хочу обработать звук в коллекции своих фильмов. Сжать динамический диапазон и затем поднять средний уровень громкости звука на уровень...

Уровень громкости усилителя
Привет. Давно читаю iosyitistromyss - благодаря чему дорос до собирания всяких ништяков, спасибо автору проекта. Последним изобретением -...

Изменить уровень громкости звука
Есть звуковой файл wav, который я вызвал с помощью SoundPlayer, библиотеки system.media, но в справке по нему не нашёл инфы по поводу...

Как получить уровень громкости на Android
Как определить включен или выключен звук на Android?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru