(strmif.h) ICodecAPI 介面

[與此頁面 相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 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,而值為 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 應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)

另請參閱

Windows Media Center Edition 的譯碼器設定

編碼器 API