Frage

Wie wäre es möglich, das Audio programmatisch zu erfassen? Ich bin der Umsetzung einer Anwendung, die den Desktop auf das Netzwerk in Echtzeit-Streams. Das Video Teil ist fertig. Ich brauche den Audio-Teil zu implementieren. Ich muß einen Weg PCM-Daten von der Soundkarte zu erhalten, meinen Encoder (implementiert im Windows Media Format) zu füttern.

Ich denke, die Antwort auf die openMixer verwendet ist (), waveInOpen () Funktionen in Win32-API, aber ich bin nicht sicher, was ich tun soll.

Wie der notwendigen Kanal zu öffnen und wie PCM-Daten von ihm zu lesen?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Ich glaube nicht, dass es eine direkte Möglichkeit, dies mit dem O zu tun - es ist ein Feature, das (oder auch nicht) auf der Soundkarte vorhanden sein kann. Einige Soundkarten haben eine Loopback-Schnittstelle - Kreative nennt es „Was Sie hören“. Sie wählen Sie einfach diese als Eingang anstatt das Mikrofon und Aufzeichnung von den normalen waveInOpen () verwenden, die Sie bereits kennen.

Wenn die Soundkarte diese Funktion nicht hat, dann glaube ich Ihnen kein Glück anders als durch etwas zu tun verrückt wie Sie Ihre eigenen Fahrer zu machen. Oder Sie könnten Ihre Benutzer dazu verleiten, ein Kabel vom Lautsprecherausgang an den Line-Eingang auszuführen:)

Andere Tipps

Die neuen Windows Vista Core Audio-APIs haben Unterstützung für diese explizit (Loopback-Aufnahme genannt), also, wenn Sie mit einem Vista nur Anwendung leben können dies ist der Weg zu gehen.

Sehen Sie die Loopback Aufnahme Artikel auf MSDN Eine Anleitung, wie dies zu tun.

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