2010-05-17 7 views
10

Ich versuche, Audiodaten von einem Mikrofon (oder Line-In) aufzunehmen und dann mit C# erneut abzuspielen.Abrufen von Daten von einem Mikrofon in C#

Irgendwelche Vorschläge, wie ich das erreichen kann?

+0

möglich Duplikat [Managed Zugang zum Mikrofoneingang und Systemlautstärke] (http://stackoverflow.com/questions/1191613/managed-access-to-microphone-input-and- System-Volume) –

+7

Können Sie uns sagen, warum Sie sich gezwungen fühlen, sarkastisch zu sein, wenn Sie zeigen, dass Sie eine Suche gefunden haben, die funktioniert, zumal "C#" in vielen Suchmaschinen ein nutzloser Begriff ist? –

+0

Besitz. Nur sagen xD –

Antwort

3

Siehe Console and multithreaded recording and playback

class Program 
{ 

    static void Main(string[] args) 
    { 
     rex.Data += new RecorderEx.DataEventHandler(rex_Data); 
     rex.Open += new EventHandler(rex_Open); 
     rex.Close += new EventHandler(rex_Close); 
     rex.Format = pcmFormat; 
     rex.StartRecord(); 
     Console.WriteLine("Please press enter to exit!"); 
     Console.ReadLine(); 
     rex.StopRecord(); 
    } 

    static RecorderEx rex = new RecorderEx(true); 
    static PlayerEx play = new PlayerEx(true); 
    static IntPtr pcmFormat = AudioCompressionManager.GetPcmFormat(1, 16, 44100); 

    static void rex_Open(object sender, EventArgs e) 
    { 
     play.OpenPlayer(pcmFormat); 
     play.StartPlay(); 
    } 

    static void rex_Close(object sender, EventArgs e) 
    { 
     play.ClosePlayer(); 
    } 

    static void rex_Data(object sender, DataEventArgs e) 
    { 
     byte[] data = e.Data; 
     play.AddData(data); 
    } 
}