Weageoo
@Weageoo

Измерение уровня и запись звука, поступающего на звуковой выход?

Можно ли в Windows сделать измерение уровня и запись звукового потока (скажем, в файл), который поступает от отдельно взятого процесса (от своей программы) на звуковыводящее устройство? Ведь (вроде бы) есть возможность регулировки громкости для отдельно взятого приложения.


Альтернативный вопрос, может кто знает: как сделать то же самое при помощи медиадвижка mediastreamer2 (измерение уровня аудиосигнала, запись аудио в файл)? На самом деле воспроизведение звука в моей программе ведётся именно с его помощью, и желательно работать с аудиоданными напрямую при помощи функций движка, чем делать это косвенно. Проблема в том, что документации к движку я не нашёл, а в исходниках не увидел требуемой функциональности.
  • Вопрос задан
  • 3065 просмотров
Пригласить эксперта
Ответы на вопрос 1
Kindman
@Kindman
Я примерно такое раньше (на 486 компе в 95 винде) делал:
Открывал программу «Звукозапись» (в ней выбирал формат записи WAVE PCM моно 8 бит 8 кГц).
Нажимал кнопку «запись», сохранял на диск, а потом открывал полученный файл с помощью простенькой программки на турбо паскале, и считывал по 1 байтику из файла. По последним 255 (можно и меньше) байтам рассчитывал амплитуду сигнала (разность между максимальным и минимальным значением байтов этого интервала). Это фактически и был тот самый уровень сигнала.
Такой низкой точности мне вполне хватало для тонкой настройки уровня сигнала линейного входа (я в то время оцифровывал аудиозаписи).
Еще я при этом умудрялся настраивать уровень так, чтобы амплитуда была по возможности максимальной, и при этом не было зашкаливания уровня входного сигнала…
… эх, где мои семнадцать лет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы