MediaEncodingProfile 类

定义

描述音频或视频文件的编码配置文件。 编码配置文件包括音频和视频编码格式的说明以及媒体容器的说明。

public ref class MediaEncodingProfile sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class MediaEncodingProfile final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class MediaEncodingProfile final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class MediaEncodingProfile
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class MediaEncodingProfile
function MediaEncodingProfile()
Public NotInheritable Class MediaEncodingProfile
继承
Object Platform::Object IInspectable MediaEncodingProfile
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

编码质量 “自动 ”是一种特殊的预设,可根据当前相机设置填充正确的设置。 将忽略手动修改的设置。 例如,如果使用静态创建方法(例如 CreateM4a)创建预设配置文件,并将 “自动 ”指定为编码质量,则对属性所做的任何更改都将被基于当前相机设置的值覆盖。

注意

可以创建特定设备上不支持的 MediaEncodingProfile 。 例如,可以成功调用 CreateMp3,但如果设备上不存在 mp3 编码器,则尝试使用此方法返回的属性对音频进行编码将失败。 有关每个设备系列默认存在的编解码器的列表,请参阅支持的编解码器。

注意

只有视频编码配置文件类型支持“自动”的编码质量设置。音频配置文件不支持此设置,在使用此设置时将生成错误。 例如:如果使用 MediaEncodingProfile.CreateMp3AudioEncodingQuality.Auto 创建配置文件,然后调用 PrepareStreamTranscodeAsync,则会收到 NullReferenceException 错误。 在这种情况下,需要选择“自动”以外的编码质量设置,以便创建功能配置文件。

有关使用 MediaEncodingProfile 为捕获的图像设置编码属性的操作指南,请参阅 使用 MediaCapture 捕获基本照片、视频和音频。 有关在转 码媒体文件时使用 MediaEncodingProfile 的信息,请参阅 转码媒体文件

版本历史记录

Windows 版本 SDK 版本 已添加值
1703 15063 CreateAlac
1703 15063 CreateFlac
1703 15063 CreateHevc
1709 16299 GetAudioTracks
1709 16299 GetVideoTracks
1709 16299 SetAudioTracks
1709 16299 SetVideoTracks
1803 17134 GetTimedMetadataTracks
1803 17134 SetTimedMetadataTracks

构造函数

MediaEncodingProfile()

创建 MediaEncodingProfile 类的新实例。

属性

Audio

获取或设置音频流的编码属性。

Container

获取或设置媒体容器的属性。

Video

获取或设置视频流的编码属性。

方法

CreateAlac(AudioEncodingQuality)

为 Apple 无损音频编解码器创建 MediaEncodingProfile 的实例, (ALAC) 音频。

CreateAv1(VideoEncodingQuality)

为 AOMedia Video 1 (AV1) 视频创建编码配置文件。

CreateAvi(VideoEncodingQuality)

为 AVI 创建 MediaEncodingProfile 的实例。

CreateFlac(AudioEncodingQuality)

为免费无损音频编解码器创建 MediaEncodingProfile 的实例, (FLAC) 音频。

CreateFromFileAsync(IStorageFile)

从现有媒体文件创建编码配置文件。

CreateFromStreamAsync(IRandomAccessStream)

从包含媒体数据的流创建编码配置文件。

CreateHevc(VideoEncodingQuality)

创建 MediaEncodingProfile 的实例,用于高效视频编码 (HEVC) 视频,也称为 H.265 视频。

CreateM4a(AudioEncodingQuality)

为 AAC 音频创建编码配置文件。

CreateMp3(AudioEncodingQuality)

为 MP3 (MPEG-1 第 3 层) 音频创建编码配置文件。

CreateMp4(VideoEncodingQuality)

为 H.264 视频创建编码配置文件。

CreateVp9(VideoEncodingQuality)

为 VP9 视频创建编码配置文件。

CreateWav(AudioEncodingQuality)

为 WAV 创建 MediaEncodingProfile 的实例

CreateWma(AudioEncodingQuality)

为 Windows Media Audio (WMA) 创建编码配置文件。

CreateWmv(VideoEncodingQuality)

为 Windows Media Video (WMV) 创建编码配置文件。

GetAudioTracks()

检索描述 MediaEncodingProfile 中包含的音频流的 AudioStreamDescriptor 对象的列表。

GetTimedMetadataTracks()

检索描述 MediaEncodingProfile 中包含的计时元数据流的 TimedMetadataStreamDescriptor 对象的列表。

GetVideoTracks()

检索描述 MediaEncodingProfile 中包含的视频流的 VideoStreamDescriptor 对象的列表。

SetAudioTracks(IIterable<AudioStreamDescriptor>)

设置描述 MediaEncodingProfile 中包含的音频流的 AudioStreamDescriptor 对象的列表。

SetTimedMetadataTracks(IIterable<TimedMetadataStreamDescriptor>)

设置描述 MediaEncodingProfile 中包含的计时元数据流的 TimedMetadataStreamDescriptor 对象列表。

SetVideoTracks(IIterable<VideoStreamDescriptor>)

设置 VideoStreamDescriptor 对象的列表,这些对象描述 MediaEncodingProfile 中包含的视频流。

适用于

另请参阅