Share via


Verwenden des Windows Media Audio Voice Codec

Der Windows Media Audio Voice-Codec bietet eine Komprimierung mit niedriger Bitrate, die für Audio mit Sprache optimiert ist. Die Fähigkeit des Codecs, solche kleinen Samples zu erzeugen, ist auf den begrenzten Frequenzbereich der Sounds der menschlichen Stimme zurückzuführen. Diese Optimierung bedeutet, dass ein dedizierter Sprachencoder eine ausgabe schlechtere Qualität für Inhalte erstellt, die kompliziertere Sounds wie Musik enthalten. Der Windows Media Audio Voice-Codec kompensiert dieses potenzielle Qualitätsproblem jedoch, indem separate Modi für Stimme, 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 durch den Klassenbezeichner CLSID_CWMSPDecMediaObject identifiziert wird. Das Formattag von Medientypen, die diesen Codec verwenden, ist 0x00A.

Konfigurieren des Encoders

Der Sprachencoder unterstützt drei Modi: Sprache, Musik und Mixed. Jeder Modus ist optimiert, um die besten Ergebnisse für diese Art von Inhalt zu erhalten. Sie können den Modus des Sprachencoders konfigurieren, indem Sie die Methoden von IPropertyStore verwenden, um die MFPKEY_WMAVOICE_ENC_MusicSpeechClassMode-Eigenschaft festzulegen.

Wenn er für gemischte Inhalte konfiguriert ist, erkennt der Windows Media Audio Voice-Codec automatisch Musikpassagen im Inhalt. Wenn Sie mit den Ergebnissen nicht zufrieden sind, können Sie den Speicherort der Musik im Inhalt mithilfe einer Bearbeitungsentscheidungsliste (EDL) angeben. Weitere Informationen finden Sie unter Verwenden einer Bearbeitungsentscheidungsliste für die Sprachcodierung.

Im Gegensatz zu den anderen Audioencodern können Sie den Wert des Pufferfensters für Sprachinhalte mithilfe der eigenschaft MFPKEY_WMAVOICE_ENC_BufferWindow festlegen. Die Standardwerte sollten jedoch in den meisten Fällen einwandfrei funktionieren.

Hinweis

   Beim Konfigurieren des Sprachencoders 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 Sprachencoder kann fehlerhafte Ausgabetypen melden, wenn beim Aufrufen von IMediaObject::GetOutputType oder IMFTransform::GetOutputType eine Eingabe festgelegt wird.

 

Decodierung

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

Arbeiten mit Audio