Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.04.2012, 21:32
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию Событие изменения громкости. bass.dll

в программе необходимо отловить изменение уровня громкости звука, выводимого на звуковую карту, как гласит msdn обрабатываю сообщения микшера. все происходит великолепно, сообщения приходят и соответственно обрабатываются. но если запустить какой-либо плеер, использующий bass.dll (AIMP or KMP etc.) при изменении в нем громкости - реакция нулевая, сообщения не приходят, хотя устройства что в плеере, что в программе открыты одинаковые... в чем подвох
можно, конечно, копнуть глубже и обрабатывать сообщения от звукового драйвера, но тут затык на начальной стадии - как можно определить файл драйвера (и путь к нему в системе) по известному названию устройства, как альтернатива - определить хендл уже загруженного звукового драйвера по тем же известным исходным данным
Ответить с цитированием
  #2  
Старый 01.05.2012, 15:13
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

потому что в плеере меняется громкость трека а не микшера
Ответить с цитированием
  #3  
Старый 01.05.2012, 21:50
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

а что в вашем понимании трек?

в плеере меняется громкость канала или потока (см. определения bass), а вот это все как раз и идет в обход системного микшера (тот же WMS использует свой микшер - системный, там все ок), предполагаю, что напрямую к драйверу звуковой карты (интерфейс драйвера ведь стандартизирован) с этим понятно, но вопрос все равно открыт.... как перехватывать все события изменения звука, т.е. даже те, которые идут в обход системного микшера?
Ответить с цитированием
  #4  
Старый 01.05.2012, 22:30
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от cotseec
а что в вашем понимании трек?

в плеере меняется громкость канала или потока (см. определения bass), а вот это все как раз и идет в обход системного микшера (тот же WMS использует свой микшер - системный, там все ок), предполагаю, что напрямую к драйверу звуковой карты (интерфейс драйвера ведь стандартизирован) с этим понятно, но вопрос все равно открыт.... как перехватывать все события изменения звука, т.е. даже те, которые идут в обход системного микшера?
в нашем понимании это то, что в понимании баса есть канал или поток,которые есть одно и тоже
изменение их громкости не имет отношения никкакому системному микшеру вообще
и что есть WMS ?
я даже подозреваю что ты еще и в ХР всем этим занимаешся
о сколько чудес тебе готовит микшер Висты и 7ки
Ответить с цитированием
  #5  
Старый 01.05.2012, 22:38
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

Во-превых, я водку с вами не пил, чтобы мне тыкать
Во-вторых, про WMS - описался, WMP - Windows Media Player.
Цитата:
в нашем понимании это то, что в понимании баса есть канал или поток,которые есть одно и тоже
изменение их громкости не имет отношения никкакому системному микшеру вообще
я об этом и написал
Цитата:
а вот это все как раз и идет в обход системного микшера (тот же WMS использует свой микшер - системный, там все ок), предполагаю, что напрямую к драйверу звуковой карты

Цитата:
я даже подозреваю что ты еще и в ХР всем этим занимаешся
о сколько чудес тебе готовит микшер Висты и 7ки
просветите, поделитесь частичкой божественного вразумления (хотя бы касательно моего вопроса)
Ответить с цитированием
  #6  
Старый 02.05.2012, 13:01
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от cotseec
Во-превых, я водку с вами не пил, чтобы мне тыкать
Во-первых, когда тебе нужна помощь - будь попроще
Во-вторых,коль я водку с тобой не пил,то и помогать тебе мне резона нет
В-третьих,в случае, описанном в первом пункте сарказм в виде "поделитесь частичкой божественного вразумления" тоже не уместен
В-четвертых,микшером регулируют громкость только приложения использующие для вывода WaveOut, ибо там это единственный вариант
В-пятых,начиная с висты полностью изменена аудиоподсистема включая микшер
Удачи...
Ответить с цитированием
  #7  
Старый 02.05.2012, 18:10
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

Цитата:
но вопрос все равно открыт.... как перехватывать все события изменения звука, т.е. даже те, которые идут в обход системного микшера?

а по существу - ноль.....

дабы не развивать здесь флуд прошу закрыть тему
Ответить с цитированием
  #8  
Старый 02.05.2012, 18:50
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от cotseec
а по существу - ноль.....
НИКАК их не перехватиш

Последний раз редактировалось robt, 02.05.2012 в 18:52.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:30.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter