Verwenden des Windows Media Audio Voice Codec

Der Windows Media Audio Voice-Codec bietet eine geringe Bitratenkomprimierung, die für Audio mit Sprache optimiert ist. Die Fähigkeit des Codecs, solche kleinen Beispiele zu erzeugen, ist auf den begrenzten Frequenzbereich der menschlichen Stimme zurückzuführen. Diese Optimierung bedeutet, dass ein dedizierter Sprach-Encoder eine schlechte Ausgabe für Inhalte erstellt, die komplexere Sounds wie Musik enthalten. Der Windows Media Audio Voice-Codec kompensiert jedoch dieses potenzielle Qualitätsproblem, indem separate Modi für Sprach-, Musik- und gemischte Inhalte bereitgestellt werden. Der Codec analysiert gemischte Inhalte, um zu bestimmen, welcher Modus für jeden Teil der Datei verwendet werden soll.

Der Windows Media Audio Voice-Codec wird im Encoderobjekt implementiert, das durch den Klassenbezeichner CLSID_CWMSPEncMediaObject2 identifiziert wird, und im Decoderobjekt, das vom Klassenbezeichner CLSID_CWMSPDecMediaObject identifiziert wird. Das Formattag von Medientypen, die diesen Codec verwenden, ist 0x00A.

Konfigurieren des Encoders

Der Sprach-Encoder unterstützt drei Modi: Sprache, Musik und gemischt. Jeder Modus ist optimiert, um die besten Ergebnisse für diesen Inhaltstyp zu erhalten. Sie können den Modus des VoIP-Encoders mithilfe der Methoden von IPropertyStore konfigurieren, um die MFPKEY_WMAVOICE_ENC_MusicSpeechClassMode-Eigenschaft festzulegen.

Bei der Konfiguration für gemischte Inhalte erkennt der Windows Media Audio Voice-Codec automatisch Passagen von Musik im Inhalt. Wenn Sie nicht mit den Ergebnissen zufrieden sind, können Sie die Position der Musik im Inhalt mithilfe einer Bearbeitungsentscheidungsliste (EDL) angeben. Weitere Informationen finden Sie unter Verwenden einer Bearbeitungsentscheidungsliste für die Codierung von VoIP.

Im Gegensatz zu den anderen Audio-Encodern können Sie den Pufferfensterwert für Sprachinhalte mithilfe der MFPKEY_WMAVOICE_ENC_BufferWindow-Eigenschaft festlegen. Die Standardwerte sollten jedoch in den meisten Fällen einwandfrei funktionieren.

Hinweis

   Beim Konfigurieren des VoIP-Encoders ist es sehr wichtig, dass Sie den Ausgabetyp festlegen, bevor Sie den Eingabetyp festlegen. Dies ist die empfohlene Reihenfolge der Vorgänge für alle Audiocodecs, aber der VoIP-Encoder kann fehlerhafte Ausgabetypen melden, wenn beim Aufrufen von IMediaObject::GetOutputType oder IMFTransform::GetOutputType eine Eingabe festgelegt wird.

 

Decodierung

Es gibt keine speziellen Anforderungen für die Decodierung von Sprachaudio. Weitere Informationen finden Sie unter Konfigurieren der Audiodecodierung.

Arbeiten mit Audio