Что я хотел бы сделать, так это постоянно слушать микрофон, иметь устройство записи микрофона, которое записывает в поток, когда поток имеет x длину, дает результат, очищает поток и продолжает делать это в al oop. Затем от вызывающего абонента проанализировать все полученные байты, я немного новичок в записи с микрофона, я не знаю, регистрирует ли приведенный ниже код что-то, я использую библиотеку NAudio:
это вызывающая сторона:
var buffers = service.StreamHearing();
foreach (var buffer in buffers)
{
//analyse
}
, а затем фактическая услуга:
public IEnumerable<byte[]> StreamHearing()
{
var buffer = new byte[512];
using(var stream = new MemoryStream(buffer))
using(var writer = new WaveFileWriter(new IgnoreDisposeStream(stream), new WaveFormat(44100, 1)))
{
var recorder = new WaveInEvent
{
WaveFormat = new WaveFormat(44100, 1),
BufferMilliseconds = 100
};
recorder.StartRecording();
while (true)
{
yield return buffer;
buffer = new byte[512];
stream.SetLength(0);
}
}
}
это не работает, пожалуйста, помогите мне, как это сделать. спасибо