Share via


Mehrstufige Formatkonvertierung

Manchmal kann der ACM in einem einzigen Schritt keine Daten aus einem Format in ein anderes konvertieren. Beispielsweise muss eine Anwendung 16-Bit-Stereodaten mit 44 kHz in 11-kHz-Mono-ADPCM konvertieren. Wenn der Kompressor oder Dekomprimierung diese Konvertierung nicht direkt durchführen kann, kann die Anwendung dies in zwei Schritten versuchen. Dies bedeutet in der Regel, eine Konvertierung zwischen zwei PCM-Formaten und dann eine weitere Konvertierung in den endgültigen Formattyp durchzuführen.

Verwenden Sie zum Konvertieren in zwei Schritten die Funktion acmFormatSuggest , um ein PCM-Format zu finden, das dem ADPCM-Format entspricht. Verwenden Sie dann zwei Konvertierungsdatenströme, um die Konvertierung durchzuführen. Führen Sie beispielsweise eine Konvertierung von 16-Bit-, 44-kHz-Stereo-PCM in 16-Bit- und 11-kHz-Mono-ADPCM durch, und konvertieren Sie dann von 16 Bit, 11 kHz Mono in 11-kHz-Mono-ADPCM.

Die mehrstufige Konvertierung erfolgt auch, wenn das Quell- oder Zielformat nicht PCM ist. Wenn das Quellformat nicht PCM ist, sollte es vor der Konvertierung in ein PCM-Format geändert werden. Wenn das Zielformat nicht PCM ist, muss die Quelle in ein PCM-Zwischenformat konvertiert und dann in das endgültige Zielformat konvertiert werden.

Die einfachsten Konvertierungen treten auf, wenn das Quell- und Zielformat beide PCM-Formate sind. Wenn das Quell- oder Zielformat nicht PCM ist, ist für die Konvertierung möglicherweise ein zusätzlicher Schritt erforderlich. Wenn sowohl Quell- als auch Zielformate nicht PCM sind, erfordert die Konvertierung in der Regel mehr als einen Schritt, und in einigen Fällen ist die Konvertierung möglicherweise nicht möglich.