首页 / C# / c# – 在wpf中调度应用程序操作
c# – 在wpf中调度应用程序操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 在wpf中调度应用程序操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1848字,纯文字阅读大概需要3分钟。
内容图文
我正在尝试使用Media Element创建一个WPF媒体应用程序来运行音频文件.
我成功了.但我想安排播放我在一段时间内反复选择的歌曲.每天或每小时等10’钟.
最好的方法是什么?
最初我想考虑使用Timer来做它.但这使我的代码变得复杂,因为我必须以用户设置的不同间隔播放多首歌曲.
最近我去了解Task Scheduler,我运行他们的示例代码[打开记事本],它完美无缺.
using (TaskService ts = new TaskService())
{
// Create a new task definition and assign properties
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "Does something";
// Create a trigger that will fire the task at this time every other day
td.Triggers.Add(new DailyTrigger { DaysInterval = 2 });
// Create an action that will launch Notepad whenever the trigger fires
td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null));
// Register the task in the root folder
ts.RootFolder.RegisterTaskDefinition(@"Test", td);
// Remove the task we just created
ts.RootFolder.DeleteTask("Test");
}
如何定义在此上下文中播放歌曲的动作?目前,他们正在提供ExecAction,SendEmail,ShowMessage和ComHandlerAction see this link
或者我们可以通过此任务计划程序调用我的应用程序的播放方法吗?请提供任何想法,帮助我.
谢谢
解决方法:
首先,您需要先按最接近的时间订购您的收集时间.然后,您只需要一个DispatcherTimer,并且可以将其Interval值设置为从现在到您的集合中第一次之间的时间长度:
private DispatcherTimer mediaPlayerTimer = null;
…
mediaPlayerTimer = new DispatcherTimer();
mediaPlayerTimer.Interval = YourFirstDateTime.Subtract(DateTime.Now);
mediaPlayerTimer.Tick += MediaPlayerTimer_Tick;
mediaPlayerTimer.Start();
…
private void MediaPlayerTimer_Tick(object sender, EventArgs e)
{
mediaPlayerTimer.Stop();
// Load next audio file and play
// Remove YourFirstDateTime from your collection
// Set YourFirstDateTime = the next item from the collection
mediaPlayerTimer.Interval = YourFirstDateTime.Subtract(DateTime.Now);
mediaPlayerTimer.Start();
}
内容总结
以上是互联网集市为您收集整理的c# – 在wpf中调度应用程序操作全部内容,希望文章能够帮你解决c# – 在wpf中调度应用程序操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。