您的位置:首页 > 其它

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

2008-12-01 08:11 691 查看
[索引页]

[源码下载]

[align=center]稳扎稳打Silverlight(18) - 2.0视频之详解MediaElement, 开发一个简易版的全功能播放器[/align]

作者:webabcd

介绍

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

/article/4589581.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>

VideoPlayer.xaml.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

using System.Windows.Threading;

namespace Silverlight20.Video

OK

[源码下载]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐