2016-04-07 4 views
0

Я пытаюсь записать аудиосистему системы.Naudio BadDeviceId вызов waveInOpen Ошибка в C#

Почему этот код возвращает исключение. сообщение об ошибке BadDeviceId вызывает waveInOpen ...

В код есть что-то неправильное? Или я должен что-то сделать из кода? Я включил микрофон на компьютере (от записывающих устройств), но нет подключенного микрофона. Я просто хочу записать системный звук.

enter image description here

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using NAudio; 
using NAudio.Wave; 


namespace SeleniumDeneme.Classes 
{ 
    class RecorderForVideo 
    { 

     public WaveIn waveSource = null; 
     public WaveFileWriter waveFile = null; 


     public RecorderForVideo() { } 

     public void CreateObjectsForRecord() 
     { 
      waveSource = new WaveIn(); 
      waveSource.WaveFormat = new WaveFormat(44100, 1); 
      waveSource.DataAvailable += new EventHandler<WaveInEventArgs>(waveSource_DataAvailable); 
      waveSource.RecordingStopped += new EventHandler<StoppedEventArgs>(waveSource_RecordingStopped); 

      waveFile = new WaveFileWriter(@"C:\Users\BerkayS\Desktop\Test0001.wav", waveSource.WaveFormat); 


      waveSource.StartRecording(); 


     } 

     void waveSource_DataAvailable(object sender, WaveInEventArgs e) 
     { 
      if (waveFile != null) 
      { 
       waveFile.Write(e.Buffer, 0, e.BytesRecorded); 
       waveFile.Flush(); 
      } 
     } 

     void waveSource_RecordingStopped(object sender, StoppedEventArgs e) 
     { 
      if (waveSource != null) 
      { 
       waveSource.Dispose(); 
       waveSource = null; 
      } 

      if (waveFile != null) 
      { 
       waveFile.Dispose(); 
       waveFile = null; 
      } 


     } 



    } 
} 

ответ

0

решена.

Я подключил микрофон к компьютеру, и проблема решена. Таким образом, код работает полностью.

Смежные вопросы