MediaElement 类是在命名空间System.Windows.Controls下的类,属于Windows Phone的Silverlight控件。不过它的属性、方法和事件比较多,下面来看一下它的一些重要的属性、方法和事件分别如表8.1、表8.2以及表8.3所示。
表8.1 MediaElement 类的一些重要的属性
名称 |
说明 |
AudioStreamCount |
获取当前媒体文件中可用的音频流的数目。 |
AudioStreamIndex |
获取或设置与视频组件一起播放的音频流的索引。音频流的集合在运行时组合,并且表示可用于媒体文件内的所有音频流。 |
AutoPlay |
获取或设置一个值,该值指示在设置 Source 属性时媒体是否将自动开始播放。 |
Balance |
获取或设置立体声扬声器的音量比。 |
BufferingProgress |
获取指示当前缓冲进度的值。 |
BufferingTime |
获取或设置要缓冲的时间长度。 |
CanPause |
获取一个值,该值指示在调用 Pause 方法时媒体是否可暂停。 |
CanSeek |
获取一个值,该值指示是否可以通过设置 Position 属性的值来重新定位媒体。 |
CurrentState |
获取 MediaElement 的状态。 |
DownloadProgress |
获取一个百分比值,该值指示为位于远程服务器上的内容完成的下载量。 |
DownloadProgressOffset |
获取下载进度的偏移量。 |
DroppedFramesPerSecond |
获取媒体每秒正在丢弃的帧数。 |
IsMuted |
获取或设置一个值,该值指示是否已静音。 |
IsUsedForExternalVideoOnly |
获取或设置一个值,该值指示是否使用外部视频。 |
NaturalDuration |
获取当前打开的媒体文件的持续时间。 |
NaturalVideoHeight |
获取与媒体关联的视频的高度。 |
NaturalVideoWidth |
获取与媒体关联的视频的宽度。 |
Position |
获取或设置媒体播放时间的当前进度位置。 |
RenderedFramesPerSecond |
获取媒体每秒正在呈现的帧数。 |
Source |
获取或设置 MediaElement 上的媒体来源。 |
Stretch |
获取或设置一个 Stretch 值,该值描述 MediaElement 如何填充目标矩形。 |
VideoSessionHandle |
获取视频会话的句柄。 |
Volume |
获取或设置媒体的音量。 |
表8.2 MediaElement 类的一些重要的方法
名称 |
说明 |
Pause |
在当前位置暂停媒体。 |
Play |
从当前位置播放媒体。 |
RequestLog |
发送一个请求,以生成随后将通过 LogReady 事件引发的记录。 |
SetSource(MediaStreamSource) |
这会将 MediaElement 的源设置为 MediaStreamSource 的子类。 |
SetSource(Stream) |
使用提供的流设置 Source 属性。 |
Stop |
停止媒体并将其重设为从头播放。 |
ToString |
返回表示当前 Object 的 String。 (继承自 Object。) |
表8.3 MediaElement 类的一些重要的事件
名称 |
说明 |
BufferingProgressChanged |
当 BufferingProgress 属性更改时发生。 |
CurrentStateChanged |
当 CurrentState 属性的值更改时发生。 |
DownloadProgressChanged |
在 DownloadProgress 属性更改后发生。 |
LogReady |
当日志准备就绪时发生。 |
MediaEnded |
当 MediaElement 不再播放音频或视频时发生。 |
MediaFailed |
在存在与媒体 Source 关联的错误时发生。 |
MediaOpened |
当媒体流已被验证和打开且已读取文件头时发生。 |