List<byte> data = new List<byte>();
WaveIn waveIn = new WaveIn();
waveIn.BufferMilliseconds = 10000;
waveIn.WaveFormat = new WaveFormat(96000, 8, 2);
waveIn.DataAvailable += (s, e_) => data.AddRange(e_.Buffer);
waveIn.StartRecording();
Thread.Sleep(9000);
waveIn.StopRecording();
MessageBox.Show("Play: " + data.Count);
IWavePlayer waveOut = new WaveOut();
waveOut.Init(new RawSourceWaveStream(data.ToArray(), 0, data.Count, new WaveFormat(96000, 8, 2)));
waveOut.Play();
Каким образом я могу вести бесконечную запись? Вот устанавливаю (объясните ещё пожалуйста, зачем) BufferMilliseconds
на значение времени записи. Если попробовать ставить int.MaxValue
или -1, будет исключение. Как я могу вести запись бесконечно долго (например, для трансляции звука на другой компьютер)?
Так же, если кто владеет информацией о работе со звуком, прошу помочь мне разобраться в следующих подобных вопросах, с которыми может столкнуться любой при работе с NAudio:
Получение полного имени устройства аудиозахвата
Динамическое улучшение качества записи голоса
Решили в чате, мало ли кто столкнется:
Разделите начало и конец записи без использования: Thread.Sleep(9000);
ибо блокируется обработка сообщений, в том числе и WaveIn.DataAvailable(..)
BufferMilliseconds
можно оставить по умолчанию.
Добрый день, подскажите пожалуйста как получить результат из этого
есть listbox в котором отображаются папки (в папках ссылки) при нажатии на кнопку эти ссылки выводятся в другой лист бокс, вопрос как мне открыть...
Есть класс Line c полями Begin, EndТеперь нужно чтобы у класса Line была толщина