共用方式為


IAMTimelineGroup::SetSmartRecompressFormat 方法

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

注意

[已被取代。 此 API 可能會從未來的 Windows 版本中移除。]

 

方法 SetSmartRecompressFormat 會指定要用於智慧重新壓縮的視訊壓縮格式。

音訊群組不支援智慧型重新壓縮。

語法

HRESULT SetSmartRecompressFormat(
   long *pFormat
);

參數

pFormat

描述壓縮格式的結構指標。 目前只有 SCompFmt0 結構有效。 您必須將此參數轉換成 long類型的指標。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

呼叫這個方法之前,請先呼叫相同群組上的 IAMTimelineGroup::SetMediaType 方法,以指定未壓縮的格式。

SetSmartRecompressFormat如果方法成功,您可以使用智慧轉譯引擎來輸出壓縮的視訊串流。 壓縮的視訊會有 pFormat 參數中指定的寬度、高度和畫面播放速率。 這些值會覆寫 SetMediaType 方法中針對未壓縮格式指定的值。 不過,若要取得智慧型重新壓縮的優點,這兩種格式應該相符。 換句話說,壓縮和未壓縮的格式應該具有相同的高度、寬度和畫面播放速率。

如果智慧轉譯引擎無法產生壓縮格式,則會改為產生未壓縮的視訊串流。 如果發生這種情況,Smart Render Engine 會在 IRenderEngine::ConnectFrontEnd 方法期間報告DEX_IDS_CANT_FIND_COMPRESSOR轉譯錯誤。 應用程式可以透過 IAMErrorLog::LogError 方法攔截此錯誤。 (如需詳細資訊,請參閱 記錄錯誤轉譯錯誤。)

智慧型重新壓縮格式不是持續性格式。 如果應用程式使用智慧型重新壓縮,則必須在載入專案檔時設定重新壓縮格式。

注意

標頭檔 Qedit.h 與 7 版之後的 Direct3D 標頭不相容。

 

注意

若要取得 Qedit.h,請下載適用于 Windows Vista 的 Microsoft Windows SDK Update 和 .NET Framework 3.0。 Windows 7 和 .NET Framework 3.5 Service Pack 1 Microsoft Windows SDK中無法使用 Qedit.h。

 

規格需求

需求
標頭
Qedit.h
程式庫
Strmiids.lib

另請參閱

IAMTimelineGroup 介面

錯誤和成功碼

智慧轉譯引擎

將專案寫入檔案