(strmif.h) ICodecAPI 介面
[與此頁面 相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式代碼,以使用新的 API。]
ICodecAPI 介面會設定和擷取編碼器或譯碼器篩選上的設定。
注意
通用 Windows 平台 (UWP) 應用程式不支援 strmif.h 中宣告的 API。 若要在 UWP 應用程式中使用 ICodecAPI,請使用 icodecapi.h 中宣告的版本。
繼承
ICodecAPI 介面繼承自 IUnknown 介面。 ICodecAPI 也有下列類型的成員:
方法
ICodecAPI 介面具有這些方法。
ICodecAPI::GetAllSettings GetAllSettings 方法會取得編解碼器的目前屬性,並將其寫入數據流。 (ICodecAPI.GetAllSettings) |
ICodecAPI::GetDefaultValue GetDefaultValue 方法會取得編解碼器屬性的預設值。 (ICodecAPI.GetDefaultValue) |
ICodecAPI::GetParameterRange GetParameterRange 方法會取得編解碼器屬性的值範圍。 (ICodecAPI.GetParameterRange) |
ICodecAPI::GetParameterValues GetParameterValues 方法會取得編解碼器屬性的可能值清單。 (ICodecAPI.GetParameterValues) |
ICodecAPI::GetValue GetValue 方法會取得編解碼器屬性的目前值。 |
ICodecAPI::IsModifiable IsModifiable 方法會根據編解碼器目前的組態,查詢是否可以變更編解碼器屬性。 (ICodecAPI.IsModifiable) |
ICodecAPI::IsSupported IsSupported 方法會查詢編解碼器是否支援指定的屬性。 (ICodecAPI.IsSupported) |
ICodecAPI::RegisterForEvent RegisterForEvent 方法會註冊應用程式,以從編解碼器接收事件。 (ICodecAPI.RegisterForEvent) |
ICodecAPI::SetAllDefaults SetAllDefaults 方法會將所有編解碼器屬性重設為預設值。 (ICodecAPI.SetAllDefaults) |
ICodecAPI::SetAllDefaultsWithNotify SetAllDefaultsWithNotify 方法會將所有編解碼器屬性重設為預設值,並傳回已變更的屬性清單。 (ICodecAPI.SetAllDefaultsWithNotify) |
ICodecAPI::SetAllSettings SetAllSettings 方法會從數據流讀取編解碼器屬性,並在編解碼器上設定它們。 (ICodecAPI.SetAllSettings) |
ICodecAPI::SetAllSettingsWithNotify SetAllSettingsWithNotify 方法會從數據流讀取編解碼器屬性、在編解碼器上設定它們,並傳回已變更的屬性清單。 (ICodecAPI.SetAllSettingsWithNotify) |
ICodecAPI::SetValue SetValue 方法會設定編解碼器屬性的值。 (ICodecAPI.SetValue) |
ICodecAPI::SetValueWithNotify SetValueWithNotify 方法會在編解碼器上設定屬性,並傳回結果所變更的其他屬性清單。 (ICodecAPI.SetValueWithNotify) |
ICodecAPI::UnregisterForEvent UnregisterForEvent 方法會取消註冊指定編碼器事件的應用程式。 (ICodecAPI.UnregisterForEvent) |
備註
此介面會定義泛型機制,以在編解碼器 (編碼器或譯碼器) 上設定屬性。 編解碼器屬性是索引鍵/值組,其中索引鍵是 GUID,而值為 VARIANT。 VARIANT 數據的解譯取決於屬性 GUID。 如需編解碼器屬性 GUID 的清單,請參閱 Codec API 屬性。
編解碼器配置檔
編解碼器可以選擇性地將配置檔和功能資訊儲存在系統登錄中。 這項資訊可讓應用程式在裝置列舉期間查詢裝置。 預設設定檔會儲存在下列登入機碼中:HKEY_LOCAL_MACHINE Software Classes CLSID Category Profiles每個配置檔都是登錄機碼,其預設字串是配置檔的文字描述。 每個值都有 GUID 名稱,後面接著包含數值 GUID 值的字串值。 例如:
C++ |
---|
HLKM\Software\Classes\CLSID\<category>\Profiles\DVD default "HQ DVD" REG_SZ {...} = "0" REG_SZ {...} = "1234" |
默認編解碼器功能會儲存在 HLKM\Software\Classes\CLSID<category>\Instance<篩選 CLSID>\Capabilities。 每個值都有 GUID 名稱,後面接著包含數值 GUID 值的字串值。 例如:
C++ |
---|
HLKM\Software\Classes\CLSID\<category>\Instance\<My DVD encoder>\Capabilities default "My DVD encoder" REG_SZ_MULTI {...} |
規格需求
最低支援的用戶端 | Windows XP with SP2 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |