Frage

Ich möchte kontinuierlich von meinem PC Audio-Line-Probe C # in Verwendung (dann Prozess, der Daten). Was ist der beste Weg, um die Probenahme zu tun?

War es hilfreich?

Lösung

Sie können einige (unverwässert) Audio-Capture tun, um die Open-Source mit NAudio .NET-Audio-Bibliothek. Werfen Sie einen Blick auf dem NAudioDemo Projekt ein einfaches Beispiel für die Aufnahme in eine WAV-Datei mit den WaveIn Funktionen zu sehen. NAudio enthält auch jetzt die Möglichkeit, Audio mit WASAPI (Windows Vista und höher) zu erfassen und ASIO (wenn Ihre Soundkarte verfügt über einen ASIO-Treiber).

Andere Tipps

Es ist die Alvas Audio Bibliothek als auch, nicht frei, hat eine nagende wenn Sie Bildschirm nicht zahlen, aber funktioniert wunderbar. Und die Dokumentation ist schön und, wenn Sie einen Fehler oder etwas zu finden, die Unterstützung ist auch in Ordnung.

Es gibt keine integrierten Bibliotheken in .NET Framework mit Ton für den Umgang, aber wenn Sie auf Win32 sind, können Sie eine nicht verwaltete Bibliothek wie Directsound verwenden, es zu tun.

Ianier Munoz zeigt wie ein Vollduplex-Audio-Player in C # zu schreiben, mit WaveIn über P / Invoke auf Codeproject. Er erwähnt Managed DirectSound- als mehr allgemeine Verfahren.

Managed DirectX unterstützt die direkte Erfassung von Audio- und ist sehr einfach zu bedienen, aber wird nicht mehr unterstützt und wurde aus dem DirectX SDK im vergangenen Jahr entfernt. Es ist immer noch möglich bekommen durch eine SDK Version installiert aus der Zeit vor August 2007.

Während nicht unbedingt Ihre Anforderungen zu erfüllen, ein robusterer Ansatz wäre, eine C ++ / CLI Wrapperassembly um die native C ++ API Directsound zu erstellen, wieder aus dem DirectX SDK. Dies könnte dann direkt aus C # Code aufgerufen werden. Dies ist definitiv ein leistungsfähiger und wartbar Ansatz trotz erfordert einige Kenntnisse in C ++ und COM.

Ich habe diese beiden Techniken in der Vergangenheit und sie beide gut funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top