3 Stimmen

Ist es möglich, einen Zeiger auf den Standard-Audio-Endpunkt-Gerätepuffer in Windows 7 zu erhalten?

Ich arbeite hier mit der Win32-API. Ich habe die MSDN-Dokumentation für die wichtigsten Audiodienste in Windows Vista+ durchforstet und hatte nicht viel Glück bei der Suche nach einer Möglichkeit, den Standard-Audiopuffer zu sichern.

Mein Ziel ist es, eine Echtzeit-Spektrografie der abgespielten Audiodaten einzurichten. Gibt es eine Möglichkeit, auf den Audiostrom zuzugreifen, bevor er über die Lautsprecher abgespielt wird?

EDIT: Ich glaube, ich habe die Antwort gefunden. Unten gepostet.

3voto

Steve Barna Punkte 1368

Gute Nachrichten, Jungs! Ich habe eine Lösung gefunden.

Der WASAPI-Loopback-Aufzeichnungsmodus, der hier beschrieben wird: http://msdn.microsoft.com/en-us/library/Windows/desktop/dd316551(v=vs.85).aspx listet detailliert eine Möglichkeit auf, "den Ausgabestrom der Audio-Engine in den Aufnahmepuffer einer Anwendung zu kopieren". Es ist so nah an einem Zeiger des Audio-Ausgabepuffers wie möglich.

Daher ist es technisch gesehen nicht möglich, auf den Puffer der Audio-Engine zuzugreifen (zumindest in der Software), aber Sie können lesen, wie der Wave-Out-Mix ist.

Sobald ich das zum Laufen gebracht habe, werde ich über etwaige Latenzprobleme berichten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X