2013-04-28 5 views
1

и извините за мой английский.C# NAudio Auto Record

Я делаю аудиомагнитофон. Я использую NAudio для записи. Я могу записывать, но не автоматически. Я хочу начать запись, когда входной объем превысит уровень spesific, и прекратите запись и сохраните как wav, если ниже уровень spesific. Как я могу это сделать ?

ответ

1

Вам необходимо контролировать уровень сигнала, вызывая StartRecording и изучая полученные образцы. Не откладывайте имя StartRecording - все это означает, что вы захватываете образцы со звуковой карты. Вам не нужно записывать их в файл, если вы этого не хотите. Способ проверки значений выборки использует BitConverter.ToInt16 для каждой пары байтов во входном буфере (при условии, что вы записываете 16 бит). Тогда вам решать, что представляет собой достаточный объем для запуска записи. Как только вы достигнете этого уровня, вы можете начать «Запись», записав входящие буферы на WaveFileWriter.