Welcome

首页 / 软件开发 / Silverlight / 稳扎稳打Silverlight(18) - 2.0视频之详解MediaElement,开发一个……

稳扎稳打Silverlight(18) - 2.0视频之详解MediaElement,开发一个……2010-04-26 cnblogs webabcd稳扎稳打Silverlight(18) - 2.0视频之详解MediaElement,开发一个简易版的全功能播放器

介绍

Silverlight 2.0 详解MediaElement:开发一个简易版的全功能播放器

MediaOpened - 当媒体被成功地打开时所触发的事件

MediaFailed - 当媒体未能被成功地打开时所触发的事件

CurrentStateChanged - 播放状态(CurrentState)发生改变时所触发的事件

DownloadProgressChanged - 下载进度(DownloadProgress)发生变化时所触发的事件

MediaEnded - 当媒体播放到末尾时所触发的事件

BufferingProgressChanged - 缓冲进度(BufferingProgress)发生变化时所触发的事件

Source - 需要播放的媒体地址

Stretch - 拉伸值

AutoPlay - 是否自动播放媒体

CurrentState - 播放状态

Position - 媒体的位置

DroppedFramesPerSecond - 媒体每秒正在丢弃的帧数

BufferingProgress - 缓冲进度

DownloadProgress - 下载进度

NaturalDuration - 媒体文件的时长

Volume - 音量大小

Balance - 音量平衡

BufferingTime - 需要缓冲的时间的长度

CurrentState - 播放状态

IsMuted - 是否静音

Play() - 播放媒体

Pause() - 暂停媒体的播放

Stop() - 停止媒体的播放

在线DEMO

http://www.cnblogs.com/webabcd/archive/2008/10/09/1307486.html

示例

VideoPlayer.xaml

<UserControl x:Class="Silverlight20.Video.VideoPlayer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel HorizontalAlignment="Left">

<!--
Source - 需要播放的媒体地址
Stretch - 拉伸值 [System.Windows.Media.Stretch 枚举]。参见:本Demo的Shape/Shape.xaml
AutoPlay - 是否自动播放媒体
-->
<MediaElement x:Name="mediaElement"
Width="400" Height="200"
Source="http://download.microsoft.com/download/2/0/5/205d8c39-3d55-4032-8195-7b0e6eda4cb6/WinVideo-SL-InstallExperience.wmv"
Stretch="Fill"
AutoPlay="False">
</MediaElement>

<Button x:Name="play" Content="播放" Margin="5" Click="play_Click" />
<Button x:Name="pause" Content="暂停" Margin="5" Click="pause_Click" />
<Button x:Name="stop" Content="停止" Margin="5" Click="stop_Click" />
<Button x:Name="mute" Content="静音" Margin="5" Click="mute_Click" />

<Slider x:Name="playSlider" Minimum="0" Maximum="1" Margin="5" ToolTipService.ToolTip="播放进度" ValueChanged="playSlider_ValueChanged" />
<Slider x:Name="volumeSlider" Minimum="0" Maximum="1" Margin="5" ToolTipService.ToolTip="音量大小" ValueChanged="volumeSlider_ValueChanged" />
<Slider x:Name="balanceSlider" Minimum="-1" Maximum="1" Margin="5" ToolTipService.ToolTip="音量平衡" ValueChanged="balanceSlider_ValueChanged" />

<TextBlock x:Name="lblPlayTime" Margin="5" />
<TextBlock x:Name="lblVolume" Margin="5" />
<TextBlock x:Name="lblBalance" Margin="5" />

<TextBlock x:Name="lblDownloadProgress" Margin="5" />
<TextBlock x:Name="lblBufferingProgress" Margin="5" />
<TextBlock x:Name="lblDroppedFramesPerSecond" Margin="5" />
<TextBlock x:Name="lblState" Margin="5" />

<TextBlock x:Name="lblWidth" Margin="5" />
<TextBlock x:Name="lblHeight" Margin="5" />
<TextBlock x:Name="lblTotalTime" Margin="5" />
<TextBlock x:Name="lblBufferingTime" Margin="5" />

</StackPanel>
</UserControl>