MediaPlayer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对媒体播放功能(例如播放、暂停、快进、倒退和音量)的访问。
public ref class MediaPlayer sealed
public ref class MediaPlayer sealed : IClosable
/// [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.Both)]
class MediaPlayer 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.Both)]
/// [Windows.Foundation.Metadata.Activatable(196608, "Windows.Foundation.UniversalApiContract")]
class MediaPlayer final : IClosable
[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.Both)]
public sealed class MediaPlayer
[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.Both)]
[Windows.Foundation.Metadata.Activatable(196608, "Windows.Foundation.UniversalApiContract")]
public sealed class MediaPlayer : System.IDisposable
function MediaPlayer()
Public NotInheritable Class MediaPlayer
Public NotInheritable Class MediaPlayer
Implements IDisposable
- 继承
- 属性
- 实现
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
注解
文档的 媒体播放 部分包含操作方法文章,这些文章提供了有关向应用添加媒体播放功能的详细指导。 下表列出了一些可用文章。
主题 | 说明 |
---|---|
使用 MediaPlayer 播放音频和视频 | 演示如何利用 UWP 应用的媒体播放系统的新功能和改进。 |
媒体项、播放列表和曲目 | 演示如何使用 MediaSource 类,该类提供了一种从不同源(例如本地或远程文件)引用和播放媒体的常用方法,并公开用于访问媒体数据的通用模型,而不考虑基础媒体格式。 |
与系统媒体传输控件集成 | 演示如何将应用与系统媒体传输控件 (SMTC) 集成。 |
系统支持的计时元数据提示 | 介绍如何利用多种格式的定时元数据,这些格式可能嵌入到媒体文件或流中。 |
创建、计划和管理媒体中断 | 演示如何创建、计划和管理媒体播放应用的媒体中断。 |
在后台播放媒体 | 演示如何配置应用,以便在应用从前台移动到后台时继续播放媒体。 |
自适应流式处理 | 介绍如何将自适应流式处理多媒体内容的播放添加到通用 Windows 平台 (UWP) 应用。 |
媒体转换 | 演示如何将媒体从通用 Windows 应用强制转换为远程设备。 |
PlayReady DRM | 介绍如何将受 PlayReady 保护的媒体内容添加到通用 Windows 平台 (UWP) 应用。 |
媒体播放 SDK 示例
以下 SDK 示例演示了适用于 Windows 10 上的 UWP 应用的媒体播放功能。 可以将这些示例用于查看上下文中所使用的媒体播放 API,或者用作你自己的应用的起始点。
版本历史记录
Windows 版本 | SDK 版本 | 已添加值 |
---|---|---|
1511 | 10586 | AddAudioEffect |
1511 | 10586 | RemoveAllEffects |
1607 | 14393 | AddVideoEffect |
1607 | 14393 | AudioBalance |
1607 | 14393 | AudioDevice |
1607 | 14393 | BreakManager |
1607 | 14393 | CommandManager |
1607 | 14393 | GetAsCastingSource |
1607 | 14393 | GetSurface |
1607 | 14393 | IsMutedChanged |
1607 | 14393 | PlaybackSession |
1607 | 14393 | RealTimePlayback |
1607 | 14393 | SetSurfaceSize |
1607 | 14393 | SourceChanged |
1607 | 14393 | StepBackwardOneFrame |
1607 | 14393 | StepForwardOneFrame |
1607 | 14393 | StereoscopicVideoRenderMode |
1607 | 14393 | TimelineController |
1607 | 14393 | TimelineControllerPositionOffset |
1703 | 15063 | CopyFrameToStereoscopicVideoSurfaces |
1703 | 15063 | CopyFrameToVideoSurface (IDirect3DSurface) |
1703 | 15063 | CopyFrameToVideoSurface (IDirect3DSurface,Rect) |
1703 | 15063 | IsVideoFrameServerEnabled |
1703 | 15063 | VideoFrameAvailable |
1709 | 16299 | RenderSubtitlesToSurface (IDirect3DSurface) |
1709 | 16299 | RenderSubtitlesToSurface (IDirect3DSurface,Rect) |
1709 | 16299 | SubtitleFrameChanged |
1803 | 17134 | AudioStateMonitor |
构造函数
MediaPlayer() |
初始化 MediaPlayer 对象的新实例。 |
属性
AudioBalance |
获取或设置立体声扬声器的音量比率。 |
AudioCategory |
获取或设置当前正在播放的音频的类型。 |
AudioDevice |
获取或设置 DeviceInformation 对象,该对象表示 MediaPlayer 用于呈现音频的音频设备。 |
AudioDeviceType |
获取或设置一个值,该值描述用于播放音频的设备的主要用法。 |
AudioStateMonitor |
获取 一个 AudioStateMonitor 对象,该对象允许 UWP 应用确定应用的任何音频流当前是否正在静音或被系统减小其音量。 |
AutoPlay |
获取或设置一个布尔值,该值指示是否在加载媒体后自动开始播放。 |
BreakManager |
获取与 MediaPlayer 关联的 MediaBreakManager,它提供有关播放器媒体中断的信息和控制。 |
BufferingProgress |
获取为媒体内容完成的缓冲量,以百分比表示。 注意 MediaPlayer.BufferingProgress 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.BufferingProgress 属性。 |
CanPause |
获取一个布尔值,该值指示媒体是否可以暂停。 注意 mediaPlayer.CanPause 可能会在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.CanPause 属性。 |
CanSeek |
获取一个布尔值,该值指示媒体是否支持查找特定位置。 注意 mediaPlayer.CanSeek 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.CanSeek 属性。 |
CommandManager |
获取与 MediaPlayer 关联的 MediaPlaybackCommandManager,该命令指定 的行为并从系统媒体传输控件接收事件。 |
CurrentState |
获取媒体播放的当前状态。 注意 mediaPlayer.CurrentState 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.PlaybackState 属性。 |
IsLoopingEnabled |
获取或设置一个布尔值,该值指示媒体是否将在重复循环中播放。 |
IsMuted |
获取或设置一个布尔值,该值指示音频是否静音。 |
IsProtected |
获取一个布尔值,该值指示内容是否受数字版权管理系统的保护。 注意 MediaPlayer.IsProtected 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 IsProtected 属性。 |
IsVideoFrameServerEnabled |
获取一个值,该值指示是否为 MediaPlayer 实例启用视频帧服务器模式。 |
NaturalDuration |
在不应用 PlaybackRate 的情况下获取媒体的实际持续时间。 注意 mediaPlayer.NaturalDuration 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.NaturalDuration 属性。 |
PlaybackMediaMarkers |
获取媒体时间线标记的集合。 注意 mediaPlayer.PlaybackMediaMarkers 可能会在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlaybackItem.TimedMetadataTracks 来管理数据或文本提示。有关详细信息,请参阅 使用 MediaSource 播放媒体。 |
PlaybackRate |
获取或设置以比率表示的播放速率。 注意 mediaPlayer.PlaybackRate 在Windows 10版本 1607 之后可能会更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.PlaybackRate 属性。 |
PlaybackSession |
获取与 MediaPlayer 关联的 MediaPlaybackSession,它提供有关当前播放会话的状态的信息,并提供用于响应播放会话状态更改的事件。 |
Position |
获取或设置媒体中的播放位置。 注意 mediaPlayer.Position 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.Position 属性。 |
ProtectionManager |
获取或设置媒体的内容保护管理器。 |
RealTimePlayback |
获取或设置一个值,该值为实时方案(如实时流视频)配置 MediaPlayer 。 |
Source |
设置媒体播放器的播放源。 |
StereoscopicVideoRenderMode |
获取或设置一个值,该值指示当前立体呈现模式。 |
SystemMediaTransportControls |
获取 SystemMediaTransportControls 类的实例,以便用户能够控制 MediaPlayer 的播放并允许应用在系统 UI 中显示有关当前正在播放的内容的信息。 |
TimelineController |
获取或设置与 MediaPlayer 关联的 MediaTimelineController。 使用此属性可以使用单个时间线控件操作多个 MediaPlayer 实例。 |
TimelineControllerPositionOffset |
获取或设置应用于与 MediaPlayer 关联的 MediaTimelineController 位置的偏移量。 |
Volume |
获取或设置媒体播放的音频音量。 |
方法
事件
BufferingEnded |
当完成缓冲时发生。 注意 mediaPlayer.BufferingEnded 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.BufferingEnded 事件。 |
BufferingStarted |
当开始缓冲时发生。 注意 MediaPlayer.BufferingStarted 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.BufferingStarted 事件。 |
CurrentStateChanged |
当媒体播放器的状态发生更改时发生。 注意 mediaPlayer.CurrentStateChanged 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.PlaybackStateChanged 事件。 |
IsMutedChanged |
当 MediaPlayer 的当前静音状态更改时发生。 |
MediaEnded |
在媒体完成播放时发生。 |
MediaFailed |
当遇到错误时发生。 |
MediaOpened |
在打开媒体时发生。 |
MediaPlayerRateChanged |
在媒体播放速率更改时发生。 注意 MediaPlayer.MediaPlayerRateChanged 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.PlaybackRateChanged 事件。 |
PlaybackMediaMarkerReached |
在播放期间到达媒体标记时发生。 注意 MediaPlayer.PlaybackMediaMarkerReached 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlaybackItem.TimedMetadataTracks 来管理数据或文本提示。有关详细信息,请参阅 使用 MediaSource 播放媒体。 |
SeekCompleted |
在搜寻操作完成时发生。 注意 MediaPlayer.SeekCompleted 可能在Windows 10版本 1607 之后更改或不可用。 请改用 MediaPlayer.PlaybackSession 属性获取 MediaPlaybackSession 对象,然后使用 MediaPlaybackSession.SeekCompleted 事件。 |
SourceChanged |
当 MediaPlayer 的媒体源发生更改时发生。 |
SubtitleFrameChanged |
当 MediaPlayer 处于帧服务器模式时,当前字幕内容发生更改时发生。 |
VideoFrameAvailable |
当 IsVideoFrameServerEnabled 设置为 true 并且新的视频帧可供处理时发生。 |
VolumeChanged |
当音频的音量已更改时发生。 |