2016-04-07 3 views
0

Ich versuche, System-Audio aufzunehmen.Naudio BadDeviceId Aufruf waveInOpen Fehler in C#

Warum dieser Code eine Ausnahme zurückgibt. Fehlermeldung ist BadDeviceId aufrufen waveInOpen ...

Gibt es etwas falsch im Code? Oder sollte ich etwas aus Code machen? Ich habe das Mikrofon am Computer aktiviert (von Aufnahmegeräten), aber es ist kein Mikrofon angeschlossen. Ich möchte nur System-Audio aufnehmen.

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; 
      } 


     } 



    } 
} 

Antwort

0

gelöst.

Ich steckte ein Mikrofon an Computer und Problem ist gelöst. Der Code funktioniert also vollständig.