Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521

Изменение уровня звука в системе

18.01.2012, 15:21. Показов 3541. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как использовать функцию как у виндусовского микшера- снижать или повышать уровень звука всех программ, издающих звук?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.01.2012, 15:21
Ответы с готовыми решениями:

Изменение переменной в системе
Здравствуйте. Вот я делаю изменение переменной при нажатой клавиши A, или при другом событии. D:= D+5; If D > 850 Then ......

Изменение размера значка звука (вставленного файла) в MSWord
Я формирую MSWord’овский документ, и туда из БД вставляю звуковые файлы. var LClassType, LFileName, LLinkToFile, LDisplaySaIcon,...

Изменение уровня громкости звука
Доброе время суток. Пишу диплом где нужно реализовать изменение уровня громкости. Пытаясь решить эту задачу я нашол два варианта: 1 это...

8
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.01.2012, 15:40
...ОС какая, до семерки или семерка?
0
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
18.01.2012, 15:42  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
...ОС какая, до семерки или семерка?
и первое и второе... пишу прогу для разных систем.
а вообще- у меня 7ка, в первую очередь под неё пишу.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.01.2012, 15:48
MSDN Core Audio API
...начиная с Vista, метод управления звуком изменился. Управлять звуком можно как на глобальном уровне, так и изменяя только свой звуковой поток. Для работы нужны несколько интерфейсов: IMMDeviceEnumerator (коллекция устройств), IMMDevice (представляет одной устройство), IAudioEndpointVolume (для управления громкостью).

Автор блога http://blog.karelia.pro перевел заголовочные файлы mmDeviceApi.h и EndpointVolume.h в термины Delphi (модуль <mmDeviceApi.pas> приложен к посту). Использование:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
{ функция InitVolumeControl должна получить ссылку на интерфейс IAudioEndpointVolume }
 
function InitVolumeControl: boolean;
var devEnum : IMMDeviceEnumerator;
    device : IMMDevice;
begin
    CoInitialize(nil);
    devEnum := CreateComObject(CLSID_MMDeviceEnumerator) as IMMDeviceEnumerator;
    device := devEnum.GetDefaulAudioEndPoint(eRender, eMultimedia);
    FVolControl := device.Activate(IID_IAudioEndpointVolume, CLSCTX_ALL, nil) as IAudioEndpointVolume;
 
    result := assigned(FVolControl);
end;
Вложения
Тип файла: txt mmDeviceApi.pas.txt (7.7 Кб, 155 просмотров)
1
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
18.01.2012, 16:02  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
MSDN Core Audio API
...начиная с Vista, метод управления звуком изменился. Управлять звуком можно как на глобальном уровне, так и изменяя только свой звуковой поток. Для работы нужны несколько интерфейсов: IMMDeviceEnumerator (коллекция устройств), IMMDevice (представляет одной устройство), IAudioEndpointVolume (для управления громкостью).

Автор блога http://blog.karelia.pro перевел заголовочные файлы mmDeviceApi.h и EndpointVolume.h в термины Delphi (модуль <mmDeviceApi.pas> приложен к посту). Использование:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
{ функция InitVolumeControl должна получить ссылку на интерфейс IAudioEndpointVolume }
 
function InitVolumeControl: boolean;
var devEnum : IMMDeviceEnumerator;
    device : IMMDevice;
begin
    CoInitialize(nil);
    devEnum := CreateComObject(CLSID_MMDeviceEnumerator) as IMMDeviceEnumerator;
    device := devEnum.GetDefaulAudioEndPoint(eRender, eMultimedia);
    FVolControl := device.Activate(IID_IAudioEndpointVolume, CLSCTX_ALL, nil) as IAudioEndpointVolume;
 
    result := assigned(FVolControl);
end;


Честно говоря я нуб и не знаю как подключить к своей программе модуль <mmDeviceApi.pas>.
Ну а так же не разобрался в твоём коде- как изменить уровень громкости?

Добавлено через 5 минут
Так, юнит я вроде подключил (создал юнит2, переименовал его, поменял на твой скинутый код).

при вставлении в форму на обработчике любого события вылезает ошибка, что я делаю не так?
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.01.2012, 16:08
...код юнита и скрин ошибки в студию.
0
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
18.01.2012, 16:18  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
...код юнита и скрин ошибки в студию.





код юнита- тот, который ты мне скинул в текстовом файле.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.01.2012, 16:24
...ну, а подумать, посмотрите куда вы вставили функцию? А CoInitialize() в модуле ActiveX.
0
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
18.01.2012, 16:44  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
...ну, а подумать, посмотрите куда вы вставили функцию? А CoInitialize() в модуле ActiveX.


в общем- ничего не понял...
Можешь, пожалуйста, скинуть проггу с этой функцией- посмотрю что у меня не так.

Добавлено через 14 минут
в общем, спасибо гуглу, я нашёл исходник проги, которая работает с микшером
http://code.progler.ru/view/627
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2012, 16:44
Помогаю со студенческими работами здесь

Изменение общей громкости звука в системе
есть ли api - шная функция для изменения общей громкости звука в системе ?

Расчет уровня прямого звука
Привет. Нужна помощь в построении графика распределения уровня звука. Прикладываю файл с данными и формулой для расчета и примерный вид...

Миксер громкости: получить процент от максимального уровня звука
Делаю интерактивную диодную свечку, которая могла бы менять яркость в такт музыке, проигрываемой на ПК. Столкнулся с проблемой: найденные...

HP pavilion g6 - нет звука в системе
ноутбук HP pavilion g6, виндовс 8.1, звука нет, динамики и наушники не подключены, драйвер обновил ни в какую, драйвер называет IDT high...

Нет звука на свежеустановленной системе.
установил виндовс 7 (сборку от ovgorskiy)все было del .но потом перезагрузил пк ....и теперь нет звука ..ниже скрины...в диспетчере...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru