ОБСУЖДЕНИЕ

Синтезировать сигнал необходимой частоты.

1 ответов 4,8 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Необходимо вывести сигнал необходимой частоты на звуковуху, а НЕ на спикер. Как же это сделать то?
 
Вообще-то способов много. Можно создать в памяти небольшой wav-файл (заголовок+данные) и проиграть его с помощью (snd)PlaySound (как, например, тут http://delphi-faq.zoxt.net/926.htm).
В софте (плейерах, эмуляторах и т.п) обычно используются более интерактивные способы генерации, позволяющие проигрывать звук потоком и менять его на лету. Например, через обычный WaveOut - открывается устройство (waveOutOpen), готовится один или несколько буферов (waveOutPrepareHeader), затем в них последовательно пишутся амплитуды, задающие кол*цензура*ия нужной частоты, и готовые буферы посылаются на проигрывание (waveOutWrite). Система их проигрывает и освобождает для получения в них новой информации. Можно пользовать и DirectSound - принцип примерно тот же.
 

Ещё по теме