1、MediaElement 介绍
MediaElement:表示包含音频和/或视频的控件。
MediaOpened在引发事件之前,ActualWidth控件将ActualHeight报告为零,因为媒体内容用于确定控件的最终大小和位置。 对于仅音频内容,这些属性始终为零。
对于固定大小控件, Width 可以设置和/或 Height 属性。 但是,若要保留媒体的纵横比,请设置或Height属性,但不能同时设置Width这两者。
**************************************************************************************************************
2、常用属性介绍
Balance:获取或设置扬声器的音量比。
BufferingProgress:获取一个值,该值指示已完成的缓冲进度的百分比。
CanPause:获取一个值,该值指示是否可暂停媒体。
Clock:获取或设置与控制媒体播放的 MediaTimeline 关联的时钟。
DownloadProgress:获取一个百分比值,该值指示为位于远程服务器上的内容完成的下载量。
HasAudio:获取一个值,该值指示媒体是否具有音频。
HasVideo:获取一个值,该值指示媒体是否具有视频。
IsBuffering:获取一个值,该值指示媒体是否正在缓冲。
IsMuted:获取或设置一个值,该值指示是否已静音。
LayoutTransform:获取或设置在执行布局时应该应用于此元素的图形转换方式。
LoadedBehavior:获取或设置媒体的加载行为 MediaState。是一个枚举,
Manual 预加载但不播放
Play 直接播放
Pause 暂停播放
Close 释放媒体资源(包括内存)
Stop 停止(不会释放资源)
NaturalDuration:获取媒体的自然持续时间。
NaturalVideoHeight:获取与媒体关联的视频的高度。
NaturalVideoWidth:获取与媒体关联的视频的宽度。
Position:通过媒体的播放时间获取或设置进度的当前位置。
RenderTransform:获取或设置影响此元素的呈现位置的转换信息。 这是依赖项属性。
RenderTransformOrigin:获取或设置由 RenderTransform 声明的任何可能呈现转换的中心点,相对于元素的边界。
Source:获取或设置 MediaElement 上的媒体源。
SpeedRatio:获取或设置媒体的速率。
Stretch:所呈现的媒体的拉伸值,枚举类型。主要用于视频播放。默认为Uniform:在保留内容原有纵横比的同时调整内容的大小,以适合目标尺寸。None:内容保持其原始大小。
StretchDirection:获取或设置一个值,该值确定有关应用于图像的缩放的限制。
Volume:获取或设置媒体的音量。
Opacity:透明度 ,1为不透明 0为透明 0.5半透明。
**************************************************************************************************************
3、注册事件以及事件触发条件
MediaOpened 当媒体被成功地打开时
MediaFailed 当媒体未能被成功地打开时
MediaEnded 当媒体播放到末尾时
CurrentStateChanged 播放状态(CurrentState)发生改变时
DownloadProgressChanged 下载进度(DownloadProgress)发生变化时
BufferingProgressChanged 缓冲进度(BufferingProgress)发生变化时
**************************************************************************************************************
具体代码示例参考后面的文章 “WPF 多媒体MediaElement 的使用(一)”和“WPF 多媒体MediaElement 的使用(二)”
**************************************************************************************************************