2 Stimmen

C++ / W32 - Tonaufnahme, Direct Show oder WaveInOpen?

Was man wählen sollte, wenn man an WinXP, Vista, Win7 ++ denkt:

  • Audio aufnehmen mit Direct Show / Direct ... ?

  • Verwenden Sie das klassische WaveInOpen (ich habe irgendwo gesehen, dass dieses in W7/W8 veraltet sein wird - möglich ? )

Ps. Ich brauche eine Callback-Funktionalität, um den Puffer an den Encoder zu übergeben.

Gracias.

2voto

Florian Punkte 1075

WaveIn ist einfach zu bedienen, es gibt jede Menge Beispielcode im Netz, und es gibt Ihnen einen Rückruf in der Art, wie Sie es brauchen.

DirectSound verwendet einen Ringpuffer und kann etwas umständlich einzurichten sein, und höchstwahrscheinlich müssen Sie sich um den Ringpuffer kümmern, anstatt "nur einen Puffer zu füllen". Mit DirectSound haben Sie jedoch eine bessere Kontrolle über das Audiomaterial, insbesondere eine etwas bessere Latenzzeit.

IMO ist es sehr unwahrscheinlich, dass Microsoft die Wave-API jemals verwerfen/entfernen wird. Das würde Tausende von Anwendungen zerstören. Ich glaube nicht, dass MS jemals eine Kern-API von Windows entfernt hat.

Ich würde also gehen

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