共用方式為


ICodecAPI 介面 (strmif.h)

[不再建議使用具有 DirectShow 的 CodecAPI 功能。 DirectShow 使用方式已被媒體基礎 IMFMediaEngineMediaPlayer取代,音訊/視訊擷取。 這些功能已針對 Windows 11 和 Windows 10 進行優化。 Microsoft強烈建議新程式代碼盡可能 MediaPlayerIMFMediaEngine,以及在 Media Foundation 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

ICodecAPI 介面會設定和擷取編碼器或譯碼器篩選器上的設定。

注意

通用 Windows 平臺 (UWP) app 不支援在 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,而值為 VARIANTVARIANT 數據的解譯取決於屬性 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"
其中 {...} 是應用程式可以對應到其使用者介面的屬性 GUID。 Microsoft目前正在考慮一組標準配置檔的定義。

默認編解碼器功能會儲存在 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 {...}
其中 {...} 是應用程式可以對應到其使用者介面的屬性 GUID。

要求

要求 價值
最低支援的用戶端 Windows XP with SP2 [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2003 R2 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 strmif.h (包括 Dshow.h)

另請參閱