Конференция "Media" » Можно ли отследить уровень звука? [D7]
 
  • Сергиус (30.04.15 19:12) [0]
    Можно ли в Delphi отследить уровень  воспроизводимого системой Windows 7 звука?
    Например, пока играет тихая спокойная фоновая музыка с низким уровнем воспроизведении, то ничего не делаем, но если в музыке происходит резкий всплеск уровня (например ударили в барабаны), или другая программа (например Скайп) резко зазвонила, то запрограммировать какое либо СОБЫТИЕ-1.
    Есть ли функция, которая возвращала бы уровень звука воспроизводимого Windows 7 в данный момент?
  • Pavia © (01.05.15 22:44) [1]
    Функции нет. Нужно самому писать.
    1) Выбираете библиотеку с которой будете работать.
    2) Захватываете звук с микшера. Тут надо учитывать особенности работы звуковых карт. Надо знать минимальный размер буфера. И правильно переключать что-бы разрывов и пропаданий небыло.
    3) Делаете конвейер: захват -> обработка -> генерация вешнего воздействия
    Внешнее воздействие это может быть сообщение или вызов функции,  или событие.
    Конвейер надо строить с учётом того что виндоус не является системой реального масштаба времени.
    4) Обработка это БПФ, выделение основного тона, далее порог. Порог Советую выбирать не равномерный, а с учётом психофизического восприятия уровня громкости. Он там неравномерный, а с нарастанием.
  • Inovet © (02.05.15 23:14) [2]
    > [1] Pavia ©   (01.05.15 22:44)
    > выделение основного тона

    Причём тут тон?
 
Конференция "Media" » Можно ли отследить уровень звука? [D7]
Есть новые Нет новых   [134427   +38][b:0][p:0]