WPF MediaElement控件 常用属性 事件

WPF MediaElement

MediaElement是WPF中播放音频视频非常简单好用的控件。
支持多种格式的音频视频,播放事件也够用

1.创建方式

(1)XAML中创建
<MediaElement></MediaElement>
<MediaElement Name="My_MediaPlayer" LoadedBehavior="Manual" 
	Stretch="None" Width="0" Height="0" 
	Opacity="0" Visibility="Hidden" 
	MediaFailed ="My_MediaPlayer_MediaFailed"/>
(2)CS中创建
MediaElement mediaElement = new MediaElement();
mediaElement.LoadedBehavior = MediaState.Manual;
mediaElement.Stretch = System.Windows.Media.Stretch.None;
mediaElement.Opacity = 0;
mediaElement.Visibility = Visibility.Hidden;
mediaElement.MediaFailed += My_MediaPlayer_MediaFailed;

2.属性设置

和Button、Image一样,你可以在Xaml大部分位置创建并设置它的属性
LoadedBehavior:媒体的加载行为,是一个枚举值。
即当你给予MediaElement播放资源时,MediaElement默认的行为

枚举值效果
Manual预加载但不播放
Play直接播放
Pause暂停播放
Close释放媒体资源(包括内存)
Stop停止(不会释放资源)

Stretch:所呈现的媒体的拉伸值,枚举类型。主要用于视频播放。
默认为Uniform:在保留内容原有纵横比的同时调整内容的大小,以适合目标尺寸。
None:内容保持其原始大小。
Opacity:透明度 ,1为不透明 0为透明 0.5半透明

3.注册事件

MediaElement事件触发条件
MediaOpened当媒体被成功地打开时
MediaFailed当媒体未能被成功地打开时
MediaEnded当媒体播放到末尾时
CurrentStateChanged播放状态(CurrentState)发生改变时
DownloadProgressChanged下载进度(DownloadProgress)发生变化时
BufferingProgressChanged缓冲进度(BufferingProgress)发生变化时

事件可以在XAML中链接触发事件时执行的方法

Xaml中:
MediaFailed="MediaPlayer_MediaFailed"
对应的cs中:
private void MediaPlayer_MediaFailed(object sender, ExceptionRoutedEventArgs e)
{
	//触发时你需要做什么
}

也可以在代码中手动注册事件

// 注册媒体播放器事件
My_MediaPlayer.MediaOpened += MediaElement_MediaOpened;
My_MediaPlayer.MediaEnded += MediaElement_MediaEnded;

4.设置播放资源

My_MediaPlayer.Source = new Uri("路径", UriKind.Absolute);

UriKind.Absolute : 该路径为绝对路径
UriKind.Relative:该路径为相对路径
UriKind.RelativeOrAbsolute:不确定

5.常用方法和属性

方法/属性说明
Source需要播放的媒体地址
AutoPlay是否自动播放媒体
CurrentState播放状态
Position媒体的位置(当前播放到哪里了)
DroppedFramesPerSecond媒体每秒正在丢弃的帧数
NaturalDuration媒体文件的时长
Volume音量大小
IsMuted是否静音
Play()播放媒体
Pause()暂停媒体的播放
Stop()停止媒体的播放
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值