Wpf中MediaElement循环播放
前一段时间做了一个项目,里面牵涉到媒体文件的循环播放问题,在网上看了好多例子,都是在xaml中添加为MediaElement添加一个TimeLine,不符合我的项目需求,就自己想了一个办法,基本的思路就是在媒体播放完毕后再次Play一下就OK了,废话不多说,首先Show一下我的代码吧;
写一个方法用来动态创建一个MediaElement;这里的ScreenModel是我创建的一个类,大家根据需要可以修改
MediaElement MediaElementCreater(ScreenModel m)
{
MediaElement media = new MediaElement();
media.Width = m.s_width;
media.Height = m.s_height;
Canvas.SetLeft(media, m.s_cleft);
Canvas.SetTop(media, m.s_ctop);
try
{
media.Source = new Uri(ConfigHelper.ConfigString("fileSavePath") + m.s_text, UriKind.RelativeOrAbsolute);
}
catch { } media.LoadedBehavior = MediaState.Manual;
media.MediaEnded += new RoutedEventHandler(media_MediaEnded);
media.Volume = new MediaPlayer().Volume;
media.Loaded += new RoutedEventHandler(media_Loaded);
media.Unloaded += new RoutedEventHandler(media_Unloaded);
return media;
}
2、大家看到了上面我给media添加了几个事件;
void media_Unloaded(object sender, RoutedEventArgs e)
{
MainWindow.IsMediaPlay = false ;
(sender as MediaElement).Stop();
} void media_Loaded(object sender, RoutedEventArgs e)
{
MainWindow.IsMediaPlay = true;
(sender as MediaElement).Play();
}
3、还有一个就是让媒体播放完后再次播放的;
void media_MediaEnded(object sender, RoutedEventArgs e)
{
(sender as MediaElement).Stop();
(sender as MediaElement).Play();
}
4、记住一定要先来个Stop();否则是不行的,刚开始我也是只有Play();因为MediaPlayer播放完视频后并没有跳到其他的媒体文件播放,而是停在视频的最后一帧;所以要先把它个停掉,再播放。
5、好吧,希望你的问题解决了;
版权声明:本文为博主原创文章,未经博主允许不得转载。
Wpf中MediaElement循环播放的更多相关文章
- WPF中播放声音媒体文件
这段时间我们小组要给部门的Annual Meeting準备一个WPF的抽奖程序,为了增加程序的有趣性,我们在程序中需要播放背景音乐等.由於对之前从未使用过WPF,所以对其中的声音等媒体文件播放不是很清 ...
- 在wpf中如何让MediaElement的视频循环播放
原文:在wpf中如何让MediaElement的视频循环播放 MediaElement原始的播放是只播放一遍:如何设置让MediaElement播放 的视频或者音频循环播放,解决如下: 修改Media ...
- 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步
深入理解MVC MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性 ...
- 在WPF中显示GIF图片并实现循环播放
WPF中有一个MediaElement媒体控件,可以来播放媒体,同时也可以显示GIF图片.但看到网上有些人说用MediaElement不能加载作为资源或内嵌的资源的GIF图片,我猜他们一定是在前台用X ...
- C# WPF 用MediaElement控件实现视频循环播放
在WPF里用MediaElement控件,实现一个循环播放单一视频的程序,同时可以控制视频的播放.暂停.停止. 一种方式,使用MediaElement.MediaEnded事件,在视频播放结束后,自动 ...
- WPF中播放视频音频
首先要在WPF中播放视频和音频,我们就需要用到MediaElement控件,下面我们示例播放音频和视频. 用MediaElement播放音频: 第一步:将你需要播放的音频(mp3)放在你WPF项目的D ...
- JavaScript中让Html页面中循环播放文字
JavaScript中让Html页面中循环播放文字 <html> <head> <meta http-equiv="Content-Type" con ...
- Windows 消息循环(2) - WPF中的消息循环
接上文: Windows 消息循环(1) - 概览 win32/MFC/WinForm/WPF 都依靠消息循环驱动,让程序跑起来. 本文介绍 WPF 中是如何使用消息循环来驱动程序的. 4 消息循环在 ...
- 示例:WPF中Slider控件封装的缓冲播放进度条控件
原文:示例:WPF中Slider控件封装的缓冲播放进度条控件 一.目的:模仿播放器播放进度条,支持缓冲任务功能 二.进度: 实现类似播放器中带缓存的播放样式(播放区域.缓冲区域.全部区域等样式) 实现 ...
随机推荐
- 发送cookie
- hihoCoder 1041 国庆出游 (DFS)
题意: 小Hi和小Ho准备国庆期间去A国旅游.A国的城际交通比较有特色:它共有n座城市(编号1-n):城市之间恰好有n-1条公路相连,形成一个树形公路网.小Hi计划从A国首都(1号城市)出发,自驾遍历 ...
- UVA12186--树型DP
树型DP第一题...就是从boss到底层员工是一个树型结构,底层员工想加薪,如果每个boss都有超过T%的员工要求加薪,他就会往更高的bOSs传达,问如果让根节点的大boss接到加薪要求,最少要有多少 ...
- 【POJ1003】Hangover(二分搜索)
直接用库函数二分即可. #include <iostream> #include <cstring> #include <cstdlib> #include < ...
- 《Algorithms 4th Edition》读书笔记——3.1 符号表(Elementary Symbol Tables)-Ⅰ
3.1符号表 符号表最主要的目的就是将一个键和一个值联系起来.用例能够将一个键值对插入符号表并希望在之后能够从符号表的所有键值对中按照键值姐找到对应的值.要实现符号表,我们首先要定义其背后的数据结构, ...
- java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
此方法为Timestamp的 转换方法. 这几天做到excel导入功能,其中里面有几个时间时段,所以用了这个类来将导入的字符串格式转换Timestamp格式. 不慎出现了 java.lang.Ille ...
- jquery 自动跳出列表
先上效果图:当鼠标经过相亲会自动弹出取最新的10条数据
- C#模拟网站用户登录
我们在写灌水机器人.抓资源机器人和Web网游辅助工具的时候第一步要实现的就是用户登录.那么怎么用C#来模拟一个用户的登录拉?要实现用户的登录,那么首先就必须要了解一般网站中是怎么判断用户是否登录的. ...
- JavaScript 基础二
JavaScript 事件处理程序就是一组语句,在事件(如点击鼠标或移动鼠标等)发生时执行 ●当事件之间互相影响时,需要有个先后顺序,这时我们声明一个Bool值来做约束 浏览对象: window 对象 ...
- pyqt columnView例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from Py ...