Windows 媒體音訊編碼器
Windows 媒體音訊編碼器會編碼音訊資料流程。 編碼器支援三種編碼輸出類別:Windows Media Audio Standard、Windows Media Audio Professional 和 Windows Media Audio Lossless。
類別識別碼
Windows 媒體音訊編碼器的類別識別碼 (CLSID) 是以常數 CLSID_CWMAEncMediaObject 表示。 您可以呼叫 CoCreateInstance 來建立音訊編碼器的實例。
輸入格式
下表顯示代表 Windows 媒體音訊編碼器所支援輸入類別的音訊格式標籤。 如需如何設定編碼器輸入和輸出類型的資訊,請參閱 設定音訊編碼 。
格式化標籤常數 | 格式化標籤值 | 音訊格式 |
---|---|---|
WAVE_FORMAT_PCM | 0x0001 | PCM 格式 |
WAVE_FORMAT_IEEE_FLOAT | 0x0003 | IEEE 浮點數 |
WAVE_FORMAT_EXTENSIBLE | 0xFFFE | PCM/IEEE 格式, 採用EEEATEXTENSIBLE 結構 |
輸出格式
下表顯示代表 Windows 媒體音訊編碼器所支援的輸出類別的音訊格式標籤。
格式化標籤常數 | 格式化標籤值 | 音訊格式 |
---|---|---|
WAVE_FORMAT_WMAUDIO2 | 0x0161 | Windows Media Audio Standard |
WAVE_FORMAT_WMAUDIO3 | 0x0162 | Windows Media Audio Professional |
WAVE_FORMAT_WMAUDIO_LOSSLESS | 0x0163 | Windows 媒體音訊遺失 |
介面
音訊 endoder 物件會 公開 IMediaObject 介面,讓物件可以做為 DirectX 媒體物件 (DMO),並公開 IMFTransform 介面,讓物件可作為媒體基礎轉換 (MFT)。
Windows 媒體音訊編碼器會根據您取得的介面以及執行哪個 Windows 版本,以 DMO 或 MFT 的形式運作。 下表顯示音訊編碼器以 DMO 或 MFT 運作的條件。
作業系統 | 編碼器行為 |
---|---|
Windows XP | Windows 媒體音訊編碼器一律會以 DMO 的形式運作。 |
Windows Vista | 根據預設,Windows Media Audio 編碼器會以 DMO 的形式運作。 如果您在音訊編碼器上取得 IMFTransform 介面或 IPropertyStore 介面,它的行為會是 MFT。 |
Windows 7 | 根據預設,Windows Media Audio 編碼器會以 DMO 的形式運作。 如果您在音訊編碼器上取得 IMFTransform 介面,它會以 MFT 的形式運作。 |
編碼器屬性
Windows 媒體音訊編碼器支援下列屬性。
屬性 | 說明 |
---|---|
MFPKEY_AVGCONSTRAINED | 指定編碼器是否使用平均可控制的 VBR 編碼。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_BMAX | 指定緩衝區視窗,以毫秒為單位,以毫秒為單位,以尖峰位速率指定受限制的變數位元速率 (VBR) 資料流程。
Standard、Professional。 讀取/寫入 |
MFPKEY_CHECKDATACONSISTENCY2P | 指定編碼器在執行雙階段 VBR 編碼時,是否應該檢查各階段的資料一致性。
標準、專業、無損失。 唯讀。 |
MFPKEY_CONSTRAINDECLATENCY | 指定編碼器是否受限於最大解碼器延遲需求。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_CONSTRAINENCCOMPLEXITY | 指定編碼演算法的複雜度是否受到限制。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_CONSTRAINENCLATENCY | 指定編碼器是否受限於最大延遲需求。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_CONSTRAIN_ENUMERATED_VBRQUALITY | 指定編碼器所列舉的模式是否受限於符合品質需求的模式。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DECODERCOMPLEXITYPROFILE | 指定編碼內容的複雜度設定檔。
標準、專業、無損失。 唯讀。 |
MFPKEY_DESIRED_VBRQUALITY | 指定 VBR 編碼所需的品質等級。
標準、專業、無損失。 唯寫。 |
MFPKEY_DYN_ALLOW_NOISESUB | 指定編碼器是否使用雜訊替代。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_ALLOW_PCMRANGELIMITING | 指定編碼器是否使用 PCM 範圍限制。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_BANDTRUNC_BWCEIL | 指定編碼器中頻段截斷允許的編碼頻寬上限。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_BANDTRUNC_BWFLOOR | 指定編碼器中頻段截斷所允許的最小編碼頻寬。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_BANDTRUNC_QCEIL | 指定允許最小編碼頻寬的品質。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_BANDTRUNC_QFLOOR | 指定允許最大編碼頻寬的品質。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_BANDTRUNCATION | 指定編碼器是否執行頻帶截斷。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_SIMPLEMASK | 指定編碼器是否使用 Windows 媒體音訊編碼器第 7 版所執行的遮罩計算樣式。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_STEREO_PREPROC | 指定編碼器是否執行立體影像處理。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_VBR_BAVG | 指定設定為使用平均可控制 VBR 編碼之編碼器的緩衝區視窗,以毫秒為單位。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_DYN_VBR_RAVG | 指定設定為使用平均可控制 VBR 編碼之編碼器的平均位元速率,以每秒位數為單位。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_ENCCOMPLEXITY | 指定編碼演算法的複雜度。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_ENDOFPASS | 指定編碼傳遞的結尾。
Standard、Professional。 唯寫。 |
MFPKEY_ENHANCED_WMA | 指定核心編碼器是否使用「加號」功能。
Professional。 讀取/寫入 |
MFPKEY_MAXDECLATENCYMS | 指定解碼器的最大延遲,以毫秒為單位。
標準、專業、無損失。 唯寫。 |
MFPKEY_MAXENCLATENCYMS | 指定編碼器的延遲上限,以毫秒為單位。
標準、專業、無損失。 唯寫。 |
MFPKEY_MOST_RECENTLY_ENUMERATED_VBRQUALITY | 指定最近列舉輸出類型的 VBR 品質等級。
標準、專業、無損失。 唯讀。 |
MFPKEY_PASSESRECOMMENDED | 指定編碼器所支援的傳遞數目上限。
標準、專業、無損失。 唯讀。 |
MFPKEY_PASSESUSED | 指定編碼器將用來編碼內容的傳遞數目。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_PEAKCONSTRAINED | 指定編碼器是否受限於尖峰位元速率。
Standard、Professional。 讀取/寫入 |
MFPKEY_PREFERRED_FRAMESIZE | 指定每個畫面的慣用樣本數目。
Professional。 讀取/寫入 |
MFPKEY_REQUESTING_A_FRAMESIZE | 指定編碼器是否應該使用慣用的畫面大小。
Professional。 讀取/寫入 |
MFPKEY_RMAX | 指定尖峰位元速率,以每秒位數為單位,用於限制 2-pass variable-bit-rate (VBR) 編碼。
Standard、Professional。 讀取/寫入 |
MFPKEY_STAT_BAVG | 指定編碼資料流程的平均緩衝區視窗,以毫秒為單位。
標準、專業、無損失。 唯讀。 |
MFPKEY_STAT_BMAX | 指定編碼資料流程的最大緩衝區視窗,以毫秒為單位。
標準、專業、無損失。 唯讀。 |
MFPKEY_STAT_RAVG | 指定編碼資料流程的平均位元速率,以每秒位數為單位。
標準、專業、無損失。 唯讀。 |
MFPKEY_STAT_RMAX | 指定編碼資料流程的每秒位速率上限。
標準、專業、無損失。 唯讀。 |
MFPKEY_VBRENABLED | 指定編碼器是否使用 VBR 編碼。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_WMA_ELEMENTARY_STREAM | Windows Media Audio 編解碼器目前不會使用這個屬性。 |
MFPKEY_WMADRC_AVGREF | 指定音訊內容的平均音量層級。
標準、專業、無損失。 唯讀。 |
MFPKEY_WMADRC_PEAKREF | 指定音訊內容中發生的最高音量層級。
標準、專業、無損失。 唯讀。 |
MFPKEY_WMAENC_AVGBYTESPERSEC | 指定 VBR 編碼音訊的平均每秒位元組數。
標準、專業、無損失。 唯讀。 |
MFPKEY_WMAENC_BUFFERLESSCBR | 指定編碼器是否應該為每個畫面產生 1 個 WMA 封包。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_WMAENC_GENERATE_DRC_PARAMS | 指定編碼器是否應該產生動態範圍控制項參數。
標準、專業、無損失。 讀取/寫入 |
MFPKEY_WMAENC_ORIGWAVEFORMAT | 指定 描述輸入音訊內容的 SEMANTICATEX 結構。
Standard、Professional。 讀取/寫入 |
MFPKEY_WMAENC_RTSPDIF | 指定編碼器是否應該啟用即時 S/PDIF 編碼。
Professional。 讀取/寫入 |
需求
需求 | 值 |
---|---|
Client |
Windows XP、Windows Vista 或 Windows 7 |
標題 |
|
DLL |
|
另請參閱