(Microsoft Media Foundation) 設定音訊編碼

Windows媒體音訊編碼器會以完整的格式列舉其所有支援的輸出類型。 呼叫 IMediaObject::GetOutputTypeIMFTransform::GetAvailableOutputType來擷取您想要的類型,然後呼叫 IMediaObject::SetOutputTypeIMFTransform::SetOutputType來設定所擷取的類型。

音訊編碼器所支援的輸出媒體類型會隨著編碼器屬性的設定而變更。 您必須設定您想要使用的所有編碼器屬性,才能列舉輸出類型。

音訊編碼器支援雙階段和 VBR 模式,但設定方式與視訊不同。 如需詳細資訊,請參閱 列舉特定編碼模式的音訊類型

在您設定輸出類型之前,音訊編碼器所支援的輸入類型無法使用。 如果您在設定輸出類型之前呼叫 IMediaObject::GetInputTypeIMFTransform::GetInputType ,則方法會分別傳回DMO_E_NO_MORE_ITEMS或MFT_E_NO_MORE_TYPES。 設定輸出類型之後,編碼器會列舉它針對選取的輸出類型所支援的輸入類型。

Windows媒體音訊編碼器不會執行音訊重新取樣。 這表示編碼器輸出類型和編碼器輸入類型必須具有相同數目的通道、每個樣本的位和取樣率。 如需詳細資訊,請參閱 尋找音訊編碼器輸出類型

注意

   音訊編碼器所列舉的每個輸出類型都包含AM_MEDIA_TYPE.pbFormat) 所指向的其 (與擴充資料附加的一個其所指向的一個一般輸出類型。 擴充資料的大小是由 WAVEFORMATEX.cbSize所指定。 此資料必須與編碼的內容一起保留,以便將其傳遞至解碼器。 若沒有擴充格式資料,就無法解壓縮內容。

 

使用音訊