Frage

Wer weiß, wie programmatisch den Ton zu erfassen, die abgespielt wird (das heißt, alles, was von der Soundkarte kommt, nicht die Eingabegeräte wie etwa ein Mikrophon).

War es hilfreich?

Lösung

Unter der Annahme, dass Sie über Windows reden, gibt es im Wesentlichen drei Möglichkeiten, dies zu tun.

Die erste ist die Audio-Gerät das Hauptausgang als Aufnahmequelle zu öffnen. Dies ist nur möglich, wenn der Fahrer unterstützt, obwohl die meisten in diesen Tagen tun. Gebräuchliche Namen für das virtuelle Gerät sind „What You Hear“ oder „Wave Out“. Sie müssen eine geeignete API verwenden (siehe WaveIn oder Directsound in MSDN) die Erfassung zu tun.

Der zweite Weg ist ein Filtertreiber zu schreiben, die den Audiostrom abfangen kann, bevor er das physische Gerät erreicht. Auch hier wird diese Technik nur für Geräte arbeiten, die eine geeignete Treiber-Topologie haben und es ist sicherlich nicht für schwache Nerven.

Das bedeutet, dass mit beliebiger Hardware wird keine dieser Optionen garantiert auf einen PC zu arbeiten.

Die letzte Alternative ist ein virtuelles Audio-Gerät zu verwenden, wie zum Beispiel Virtual Audio Cable . Wenn dieses Gerät als defualt Wiedergabe-Gerät in Windows gesetzt ist, dann alle gut erzogene Anwendungen werden durch sie spielen. Sie können dann aus dem gleichen Gerät aufzeichnen die summierte Ausgabe zu erfassen. Solange Sie die Kontrolle über das Gerät, das die Anwendung, die Sie aufnehmen wollen, verwendet dann wird diese Option immer funktionieren.

Alle diese Techniken haben ihre Vor- und Nachteile - es ist an Ihnen zu entscheiden, welche die am besten geeignete für Ihre Bedürfnisse sein würde,

.

Andere Tipps

Sie können die Wellenform-Audio-Interface verwenden, gibt es einen MSDN-Artikel , wie man es per PInvoke zugreifen zu können.

Um den Klang zu erfassen, die abgespielt wird, müssen Sie nur das Wiedergabegerät öffnen statt des Mikrofons. Öffnen Sie für die Eingabe, natürlich nicht für die Ausgabe; -)

Wenn Sie OSX verwendet haben, Audio Hijack Pro von Rogue Amoeba wahrscheinlich ist der einfachste Weg zu gehen.

Wie auch immer, warum nicht nur Looping Ihrer Audio zurück in Ihre Linie in und Aufnahme, dass? Dies ist eine sehr einfache Lösung. Schließen Sie einfach ein Kabel in Ihrem Audio-Ausgangsbuchse und Ihre Linie in Buchse und startet recordung.

Sie müssen Gerät Stereo-Mix ermöglichen. wenn Sie dies tun, direkter Klang dieses Gerät finden.

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