Определите, когда громкий звук воспроизводится в C # - PullRequest
5 голосов
/ 17 мая 2010

Я хочу определить, воспроизводит ли другая программа звук выше определенного порога. Я не ищу проверки настроек громкости на компьютере или чего-то подобного. Мне просто нужно посмотреть, воспроизводит ли какое-нибудь приложение что-то выше, чем я ожидаю. Кто-нибудь знает, возможно ли это или как это сделать?

Ответы [ 3 ]

1 голос
/ 17 мая 2010

Проверьте этот проект на codeproject. Это измеритель громкости, использующий управляемый DirectX и полностью написанный на C #.

1 голос
/ 17 мая 2010

На локальном компьютере существует множество источников возможного звука, и в конечном итоге они будут передаваться через звуковую систему Windows на микшер и через звуковую карту. Единственный известный мне способ отслеживать все звуки в системе Windows - это написать драйвер фильтра с помощью комплекта разработки драйверов устройств. Это будет перехватывать все запросы к звуковой системе, проходить через данные, которые отправляются для воспроизведения, и может устанавливать флаги / записи в журнал, когда он обнаруживает большие различия (где abs (data [x + 1] - data [x]) это большое значение).

Разработка драйверов обычно выполняется на языке C. В сети есть множество примеров кода, если вы хотите пойти по этому пути.

0 голосов
/ 17 мая 2010

Похоже, это хорошее место для начала расследования. Я не думаю, что вы найдете то, что искали, уже встроенное в .Net.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...