信息
您所需的主题如下所示。但此主题未包含在此库中。

MediaElement 类

2013/12/13

表示一个包含音频和/或视频的对象。

Namespace:  System.Windows.Controls
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public sealed class MediaElement : FrameworkElement
<MediaElement .../>

MediaElement 类型公开以下成员。

  名称说明
公共方法MediaElement实例化 MediaElement 类的新实例。
返回顶部

  名称说明
公共属性ActualHeight获取 FrameworkElement 的呈现高度。 (从 FrameworkElement 继承。)
公共属性ActualWidth获取 FrameworkElement 的呈现宽度。 (从 FrameworkElement 继承。)
公共属性AllowDrop获取或设置一个值,该值确定此 UIElement 是否可用作拖放操作的放置目标。 (从 UIElement 继承。)
公共属性AudioStreamCount获取当前媒体文件中可用的音频流的数目。
公共属性AudioStreamIndex获取或设置与视频组件一起播放的音频流的索引。音频流的集合在运行时组合,并且表示可用于媒体文件内的所有音频流。
公共属性AutoPlay获取或设置一个值,该值指示在设置 Source 属性时媒体是否将自动开始播放。
公共属性Balance获取或设置立体声扬声器的音量比。
公共属性BufferingProgress获取指示当前缓冲进度的值。
公共属性BufferingTime获取或设置要缓冲的时间长度。Windows Phone OS 7.1 和 Windows Phone OS 8.0 忽略此属性的值。
公共属性CacheMode获取或设置一个值,该值指示应在可能时缓存已呈现内容。 (从 UIElement 继承。)
公共属性CanPause获取一个值,该值指示在调用 Pause 方法时媒体是否可暂停。
公共属性CanSeek获取一个值,该值指示是否可以通过设置 Position 属性的值来重新定位媒体。
公共属性Clip获取或设置用于定义 UIElement 的内容边框的 Geometry (从 UIElement 继承。)
公共属性CurrentState获取 MediaElement 的状态。
公共属性Cursor基础结构。 获取或设置指针悬停在 FrameworkElement 上时所显示的光标图像。 (从 FrameworkElement 继承。)
公共属性DataContext获取或设置 FrameworkElement 参与数据绑定时的数据上下文。 (从 FrameworkElement 继承。)
公共属性DesiredSize获取此 UIElement 在布局过程的测量处理过程中计算的大小。 (从 UIElement 继承。)
公共属性Dispatcher获取与此对象关联的 Dispatcher (从 DependencyObject 继承。)
公共属性DownloadProgress获取一个百分比值,该值指示为位于远程服务器上的内容完成的下载量。
公共属性DownloadProgressOffset获取下载进度的偏移量。
公共属性DroppedFramesPerSecond获取媒体每秒正在丢弃的帧数。
公共属性FlowDirection获取或设置文本和其他用户界面元素在控制其布局的任何父元素中的流动方向。 (从 FrameworkElement 继承。)
公共属性Height获取或设置 FrameworkElement 的建议高度。 (从 FrameworkElement 继承。)
公共属性HorizontalAlignment获取或设置在布局父级(如面板或项控件)中构成 FrameworkElement 时应用于此元素的水平对齐特征。 (从 FrameworkElement 继承。)
公共属性IsHitTestVisible获取或设置此 UIElement 的包含区域是否可为命中测试返回 true 值。 (从 UIElement 继承。)
公共属性IsMuted获取或设置一个值,该值指示是否已静音。
公共属性Language获取或设置应用于 FrameworkElement 的本地化/全球化语言信息。 (从 FrameworkElement 继承。)
公共属性LicenseAcquirer获取或设置与 MediaElement 关联的 LicenseAcquirerLicenseAcquirer 处理为 DRM 加密内容购买许可证的事宜。
公共属性Margin获取或设置 FrameworkElement 的外边距。 (从 FrameworkElement 继承。)
公共属性Markers获取与当前加载的媒体文件相关联的时间线标记的集合。
公共属性MaxHeight获取或设置 FrameworkElement 的最大高度约束。 (从 FrameworkElement 继承。)
公共属性MaxWidth获取或设置 FrameworkElement 的最大宽度约束。 (从 FrameworkElement 继承。)
公共属性MinHeight获取或设置 FrameworkElement 的最小高度约束。 (从 FrameworkElement 继承。)
公共属性MinWidth获取或设置 FrameworkElement 的最小宽度约束。 (从 FrameworkElement 继承。)
公共属性Name获取或设置对象的标识名称。 当 XAML 处理器从标记创建对象树时,运行时代码可以使用此名称引用标记元素。 (从 FrameworkElement 继承。)
公共属性NaturalDuration获取当前打开的媒体文件的持续时间。
公共属性NaturalVideoHeight获取与媒体关联的视频的高度。
公共属性NaturalVideoWidth获取与媒体关联的视频的宽度。
公共属性Opacity获取或设置对象的不透明度。 (从 UIElement 继承。)
公共属性OpacityMask获取或设置用于改变此对象区域的不透明度的画笔。 (从 UIElement 继承。)
公共属性Parent获取对象树中此 FrameworkElement 的父对象。 (从 FrameworkElement 继承。)
公共属性Position获取或设置媒体播放时间的当前进度位置。
公共属性Projection获取或设置在呈现此 UIElement 时要应用的透视投影(三维效果)。 (从 UIElement 继承。)
公共属性RenderedFramesPerSecond获取媒体每秒正在呈现的帧数。
公共属性RenderSize获取 UIElement 的最终呈现大小。 (从 UIElement 继承。)
公共属性RenderTransform获取或设置影响 UIElement 的呈现位置的变换信息。 (从 UIElement 继承。)
公共属性RenderTransformOrigin获取或设置由 RenderTransform 声明的任何可能呈现转换的原点,相对于 UIElement 的边界。 (从 UIElement 继承。)
公共属性Resources获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法,将资源项建立为 frameworkElement.Resources 属性元素的子对象元素。 (从 FrameworkElement 继承。)
公共属性Source获取或设置 MediaElement 上的媒体来源。
公共属性Stretch获取或设置一个 Stretch 值,该值描述 MediaElement 如何填充目标矩形。
公共属性Style获取或设置呈现过程中应用于此对象的实例 Style (从 FrameworkElement 继承。)
公共属性Tag获取或设置一个可用于存储有关此对象的自定义信息的任意对象值。 (从 FrameworkElement 继承。)
公共属性Triggers获取为 FrameworkElement 定义的动画的触发器的集合。 (从 FrameworkElement 继承。)
公共属性UseLayoutRounding获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。 (从 UIElement 继承。)
公共属性UseOptimizedManipulationRouting获取或设置指示系统是否应处理输入事件或是否 FrameworkElement 应处理输入事件的值。 (从 FrameworkElement 继承。)
公共属性VerticalAlignment获取或设置在父对象(如面板或项控件)中构成 FrameworkElement 时应用于此元素的垂直对齐特征。 (从 FrameworkElement 继承。)
公共属性Visibility获取或设置 UIElement 的可见性。不可见的 UIElement 不呈现,也不将其所需大小告知布局。 (从 UIElement 继承。)
公共属性Volume获取或设置媒体的音量。
公共属性Width获取或设置 FrameworkElement 的宽度。 (从 FrameworkElement 继承。)
返回顶部

  名称说明
公共方法AddHandler为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。将 handledEventsToo 指定为 true 时,可为已标记为由其他元素在事件路由过程中处理的路由事件调用所提供的处理程序。 (从 UIElement 继承。)
公共方法Arrange定位子对象并确定 UIElement 的大小。为其子元素实现自定义布局的父对象应从其布局重写实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法ArrangeOverride提供 Windows Phone 布局的排列处理过程的行为。 类可以重写该方法来定义其自己的排列处理过程行为。 (从 FrameworkElement 继承。)
公共方法CaptureMouse将触摸输入捕获设置为 UIElement (从 UIElement 继承。)
公共方法CheckAccess确定调用线程是否可以访问此对象。 (从 DependencyObject 继承。)
公共方法ClearValue清除依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法FindName检索具有指定标识符名称的对象。 (从 FrameworkElement 继承。)
公共方法GetAnimationBaseValue返回为 Windows Phone 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (从 DependencyObject 继承。)
公共方法GetBindingExpression检索 BindingExpression 中已建立绑定的依赖项属性。 (从 FrameworkElement 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法GetValueDependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承。)
公共方法InvalidateArrange使 UIElement 的排列状态(布局)无效。使其无效后,将会更新 UIElement 的布局(以异步方式进行)。 (从 UIElement 继承。)
公共方法InvalidateMeasure使 UIElement 的测量状态(布局)无效。 (从 UIElement 继承。)
公共方法Measure更新 UIElementDesiredSize。一般地,实现其布局子级的自定义布局的对象从自己的 MeasureOverride 实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法MeasureOverride提供 Windows Phone 布局的度量处理过程的行为。 类可以重写该方法来定义其自己的度量处理过程行为。 (从 FrameworkElement 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法OnApplyTemplate在派生类中重写后,每当应用程序代码或内部进程(如重新生成布局处理过程)调用 ApplyTemplate,都将调用此方法。 简而言之,这意味着就在 UI 元素在应用程序中显示前调用该方法。 有关更多信息,请参见“备注”。 (从 FrameworkElement 继承。)
受保护的方法OnCreateAutomationPeer在派生类中实现时,为 Windows Phone 自动化基础结构返回类特定的 AutomationPeer 实现。 (从 UIElement 继承。)
公共方法Pause在当前位置暂停媒体。
公共方法Play从当前位置播放媒体。
公共方法ReadLocalValue返回依赖项属性的本地值(如果设置了本地值)。 (从 DependencyObject 继承。)
公共方法ReleaseMouseCaptureUIElement 中移除触摸输入捕获。在此调用后,一般没有对象具有触摸输入捕获。 (从 UIElement 继承。)
公共方法RemoveHandler从此 UIElement 中移除指定的路由事件处理程序。 (从 UIElement 继承。)
公共方法RequestLog发送一个请求,以生成随后将通过 LogReady 事件引发的记录。
公共方法SetBinding使用提供的绑定对象,将绑定附加到 FrameworkElement 上,并返回 BindingExpressionBase 以供以后使用。 (从 FrameworkElement 继承。)
公共方法SetSource(MediaStreamSource)这会将 MediaElement 的源设置为 MediaStreamSource 的子类。
公共方法SetSource(Stream)使用提供的流设置 Source 属性。
公共方法SetValueDependencyObject 设置依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Stop停止媒体并将其重设为从头播放。
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法TransformToVisual返回一个变换对象,该变换对象可用于将 UIElement 中的坐标变换为指定的对象。 (从 UIElement 继承。)
公共方法UpdateLayout请确保 UIElement 的所有子对象位置都正确地进行了布局更新。 (从 UIElement 继承。)
返回顶部

  名称说明
公共事件BindingValidationError在绑定源报告数据验证错误时发生。 (从 FrameworkElement 继承。)
公共事件BufferingProgressChangedBufferingProgress 属性更改时发生。
公共事件CurrentStateChangedCurrentState 属性的值更改时发生。
公共事件DoubleTap当悬停在此 UIElement 上时使用了DoubleTap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件DownloadProgressChangedDownloadProgress 属性更改后发生。
公共事件GotFocusUIElement 收到焦点时发生。 (从 UIElement 继承。)
公共事件Hold当悬停在此 UIElement 上时使用了 Hold 笔势的情况下发生。 (从 UIElement 继承。)
公共事件KeyDownUIElement 具有焦点的情况下按下键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件KeyUpUIElement 具有焦点的情况下释放键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件LayoutUpdated当 Windows Phone 可视化树的布局更改时发生。 (从 FrameworkElement 继承。)
公共事件Loaded当已构造 FrameworkElement 并将其添加到对象树中时发生。 (从 FrameworkElement 继承。)
公共事件LogReady当日志准备就绪时发生。
公共事件LostFocusUIElement 失去焦点时发生。 (从 UIElement 继承。)
公共事件LostMouseCaptureUIElement 失去触摸屏输入捕获时发生。 (从 UIElement 继承。)
公共事件ManipulationCompleted对于 UIElement 的操作和延时完毕时发生。 (从 UIElement 继承。)
公共事件ManipulationDelta当输入设备在操作期间更改位置时发生。 (从 UIElement 继承。)
公共事件ManipulationStarted当输入设备对 UIElement 开始操作时发生。 (从 UIElement 继承。)
公共事件MarkerReached在媒体播放期间遇到时间线标记时发生。
公共事件MediaEndedMediaElement 不再播放音频或视频时发生。
公共事件MediaFailed在存在与媒体 Source 关联的错误时发生。
公共事件MediaOpened当媒体流已被验证和打开且已读取文件头时发生。
公共事件MouseEnter当在 UIElement 界定区域内点按屏幕时发生。 (从 UIElement 继承。)
公共事件MouseLeave当在 UIElement 界定区域外发生触摸事件时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonDown在点按 UIElement 时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonUp当手指抬离 UIElement 时(或当 UIElement 具有触摸输入捕获时)发生。 (从 UIElement 继承。)
公共事件MouseMove在以下情况下发生:当触摸 UIElement 时(或当 UIElement 具有触摸输入捕获时),手指的坐标位置位于屏幕上。 (从 UIElement 继承。)
公共事件MouseWheel基础结构。 在以下情况下发生:当鼠标指针悬停在 UIElement 上时或 UIElement 具有焦点时,用户滚动鼠标滚轮。 (从 UIElement 继承。)
公共事件SizeChangedFrameworkElement 上的 ActualHeightActualWidth 属性的值发生更改时发生。 (从 FrameworkElement 继承。)
公共事件Tap当悬停在此 UIElement 上时使用了 Tap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件TextInput在 UI 元素以与设备无关的方式获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputStart在 UI 元素以与设备无关的方式最初获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputUpdate当通过输入方法编辑器 (IME) 继续编写文本时发生。 (从 UIElement 继承。)
公共事件Unloaded当此对象不再与主对象树连接时发生。 (从 FrameworkElement 继承。)
返回顶部

  名称说明
公共字段静态成员AudioStreamCountProperty标识 AudioStreamCount 依赖项属性。
公共字段静态成员AudioStreamIndexProperty标识 AudioStreamIndex 依赖项属性。
公共字段静态成员AutoPlayProperty标识 AutoPlay 依赖项属性。
公共字段静态成员BalanceProperty标识 Balance 依赖项属性。
公共字段静态成员BufferingProgressProperty标识 BufferingProgress 依赖项属性。
公共字段静态成员BufferingTimeProperty标识 BufferingTime 依赖项属性。
公共字段静态成员CanPauseProperty标识 CanPause 依赖项属性。
公共字段静态成员CanSeekProperty标识 CanSeek 依赖项属性。
公共字段静态成员CurrentStateProperty标识 CurrentState 依赖项属性。
公共字段静态成员DownloadProgressOffsetProperty标识 DownloadProgressOffset 依赖项属性。
公共字段静态成员DownloadProgressProperty标识 DownloadProgress 依赖项属性。
公共字段静态成员DroppedFramesPerSecondProperty标识 DroppedFramesPerSecond 依赖项属性。
公共字段静态成员IsMutedProperty标识 IsMuted 依赖项属性。
公共字段静态成员NaturalDurationProperty标识 NaturalDuration 依赖项属性。
公共字段静态成员NaturalVideoHeightProperty标识 NaturalVideoHeight 依赖项属性。
公共字段静态成员NaturalVideoWidthProperty标识 NaturalVideoWidth 依赖项属性。
公共字段静态成员PositionProperty标识 Position 依赖项属性。
公共字段静态成员RenderedFramesPerSecondProperty标识 RenderedFramesPerSecond 依赖项属性。
公共字段静态成员SourceProperty标识 Source 依赖项属性。
公共字段静态成员StretchProperty标识 Stretch 依赖项属性。
公共字段静态成员VolumeProperty标识 Volume 依赖项属性。
返回顶部

MediaElement 可以播放许多不同类型的音频和视频媒体。

MediaElement 是一个可以在其表面显示视频的矩形区域,也可以播放音频(在此情况下不会显示视频)。因为它是 UIElement,因此 MediaElement 支持触控输入事件。使用属性 HeightWidth 可以指定视频显示图面的高度和宽度。但是,为了获得最佳性能,应避免显式设置 MediaElement 的宽度和高度。而是将这些值保留为未设置。指定源之后,媒体将以其实际大小显示,布局将重新计算该大小。如果需要更改媒体显示的大小,最好使用媒体编码工具将媒体重新编码为所需大小。

默认情况下,加载 MediaElement 对象后,将立即播放由 Source 属性定义的媒体。若要禁止媒体自动启动,请将 AutoPlay 属性设置为 false

MediaElement 将具有为 0 的 ActualWidthActualHeight,直到它开始播放。如果您正侦听 MouseLeftButtonDown 事件以触发视频的启动,这可能导致后果。一种简单的解决方法是将 Rectangle 放在 MediaElement 后面,并将鼠标事件与 Rectangle 挂接。然后,将 MediaElement 上的 IsHitTestVisible 属性设置为 false

说明注意:

为了获得更好的性能,请避免将数据绑定到 Position 属性来反映频繁的位置更新(例如,进度条)。而是使用 DispatcherTimer 来查询 Position 属性。

警告说明警告:

不会播放具有错误扩展名的媒体文件。扩展名必须匹配编码的源。

警告说明警告:

某些媒体编码解码器在某些设备上受支持,但在另一些设备上不受支持。有关受支持的编码解码器列表,请参见 支持的 Windows Phone 媒体编解码器

功能

如果您在应用中使用此 API,您必须在应用清单中指定下列功能。否则,您的应用可能无法正常工作,或可能意外退出。

ID_CAP_MEDIALIB_PLAYBACK

Windows Phone 8

ID_CAP_MEDIALIB

Windows Phone OS 7.1

有关更多信息,请参见 Windows Phone 应用的功能和硬件要求

下面的示例说明如何向页中添加媒体。该 XAML 示例引用必须在代码中定义的 CurrentStateChanged 事件的事件处理程序,而且未显示在示例中。

<MediaElement 
    x:Name="media" 
    Source="xbox.wmv" 
    CurrentStateChanged="media_state_changed" 
    Width="300" Height="300"/>

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示: