共用方式為


使用媒體延伸 (HTML)

[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]

這個主題說明什麼是媒體延伸,以及如何應用到 Windows 執行階段應用程式。

簡介

媒體延伸會將功能新增至 Windows 執行階段應用程式的媒體管線中。 這裡列出一些可能的延伸,包括音訊與視訊效果、擷取效果、轉碼、數位版權管理 (DRM)、支援新的解碼器和編碼器,或是自訂擷取接收器。 有些延伸包含在系統中,例如 VideoStabilization 效果以及 DRM MediaProtectionManager。 系統未包含的功能則可使用自訂媒體延伸加以新增。

如需使用自訂媒體延伸的深入應用範例,請參閱媒體延伸範例。 這個範例示範如何建立和啟用自訂視訊灰階效果、自訂解碼器,以及如何使用內建的 VideoStabilization 效果。

另一個使用媒體延伸的範例是即時通訊範例

媒體管線以及新增和移除效果與延伸

媒體基礎管線是由媒體來源媒體基礎轉換 (例如視訊效果、編碼器和解碼器) 及媒體接收器所組成。有許多方法可以將效果和延伸新增至 Windows 市集應用程式。 MediaExtensionManager 可以讓您取代媒體來源及編碼器和解碼器。播放、擷取和轉碼物件上的方法可以讓您新增和移除效果。 MediaCapture 類別可以讓您新增自訂接收器。

如何在音訊和視訊播放物件中新增和移除效果,取決於您使用的程式設計語言。

針對使用 JavaScript 的 Windows 執行階段應用程式,請使用 msInsertVideoEffectmsInsertAudioEffectmsClearEffects。這些方法會在 HTML5 audiovideo 標記上公開。

針對使用 C# 或 Visual Basic 的 Windows 執行階段應用程式,請使用 MediaElement.AddAudioEffectMediaElement.AddVideoEffectRemoveAllEffects

若要新增和移除轉碼的效果,請使用 MediaTranscoder.AddVideoEffectMediaTranscoder.AddAudioEffectMediaTranscoder.ClearEffects

若要新增和移除媒體擷取的效果,請使用 MediaCapture.AddEffectAsyncMediaCapture.ClearEffectsAsync

若要登錄配置處理常式、位元組資料流處理常式、音訊編碼器、音訊解碼器、視訊編碼器及視訊解碼器,請使用 MediaExtensionManager

如要將自訂接收器新增至媒體擷取,請使用 MediaCapture.StartRecordToCustomSinkAsyncMediaCapture.StartPreviewToCustomSinkAsync

DRM 可以透過 MediaProtectionManager 支援。

內建的延伸

Windows 執行階段提供了穩定抖動視訊的內建效果,例如手持相機所拍攝的視訊。

如何新增影像防震描述如何在使用 JavaScript 的 Windows 執行階段應用程式中使用 VideoStabilization 效果。 媒體延伸範例也會說明如何使用 VideoStabilization 效果。

自訂延伸

您可以使用自訂的媒體延伸,將新功能新增至媒體管線中。 例如,您可以建立自訂的視訊效果,將視訊轉換成灰階,如媒體延伸範例所述。 或者,您可以建立自訂的延伸,新增系統原本不提供的音訊和視訊格式支援。

建立自訂延伸包含兩個部分。第一個部分是撰寫媒體基礎元件,第二個部分是將這個元件包裝在 Windows 執行階段媒體延伸物件。 如需建立各種不同自訂媒體延伸的深入應用範例,請參閱媒體延伸範例

媒體延伸是由實作元件物件模型 (COM) 和 Windows 執行階段介面的混合式物件所組成。COM 介面會與 Microsoft 媒體基礎管線進行互動。Windows 執行階段介面會啟動元件,並與 Windows 市集應用程式進行互動。

在大部分情況下,建議您將 Visual C++ 與元件延伸 (C++/CX ) 配合使用,以與 Windows 執行階段進行互動。但是,在實作 COM 與 Windows 執行階段介面的混合式元件 (例如,媒體延伸) 的案例中,這是不可行的。C++/CX 只能建立 Windows 執行階段物件。因此,針對混合式物件,建議您使用 Windows 執行階段 C++ 範本庫來與 Windows 執行階段進行互動。 請注意,Windows 執行階段 C++ 範本庫對於實作 COM 介面的支援有限。

請注意,只有建立和登錄自訂延伸的應用程式可以存取這些自訂延伸。 其他應用程式無法存取自訂延伸。

Hh700365.wedge(zh-tw,WIN.10).gif建立自訂效果的高階步驟。

  1. 建立原生的媒體基礎延伸並實作 IMediaExtension
  2. 登錄和啟動延伸。
  3. 將應用程式中的延伸新增至媒體管線。

如需在 Windows 執行階段應用程式中建立媒體基礎媒體延伸的詳細資訊,請參閱逐步解說:使用 WRL 與媒體基礎建立 Windows 市集應用程式媒體延伸範例

相關主題

媒體延伸範例

轉碼媒體範例

即時通訊範例

使用 WRL 與媒體基礎建立 Windows 市集應用程式

媒體基礎轉換

如何在視訊標記中啟用效果

如何新增影像防震