使用媒体扩展 (HTML)

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

本主题介绍了什么是媒体扩展以及如何在 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

可通过 MediaProtectionManager 支持 DRM。

内置扩展

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-cn,WIN.10).gif创建自定义效果的高级步骤。

  1. 创建本机媒体基础扩展并实现 IMediaExtension
  2. 注册并激活该扩展。
  3. 将应用程序中的扩展添加至媒体管道。

有关在 Windows 运行时应用中创建媒体基础媒体扩展的详细信息,请参阅操作实例:使用 WRL 和媒体基础创建 Windows 应用商店应用媒体扩展示例

相关主题

媒体扩展示例

对媒体示例进行转码

实时通信示例

使用 WRL 和媒体基础创建 Windows 应用商店应用

媒体基础转换

如何在视频标记中启用效果

如何添加视频防抖动