Windows phone 8.1的后台计时器来停止音乐
本文关键字:音乐 计时器 后台 phone Windows | 更新日期: 2023-09-27 18:11:12
Hello作为使用BackgroundMediaPlayer
在后台播放轻松音乐的应用程序的一部分,我想实现一种在设定时间后关闭音乐的方式。
我想的是有一个TimerPicker
为用户选择什么时候音乐应该停止,然后添加定时器作为一个支持的任务类型到我的MusicBackgroundTask下的声明在appxmanifest。
然后适当地以某种方式使用ThreadPoolTimer
在我的MusicBackgroundTask Windows运行时组件停止音乐时滴答,但我真的找不到任何地方在线解释如何使定时器在后台任务工作。
所以如果有人有一个很好的链接,解释或更好的一些工作代码,这将是一个很大的帮助,非常感谢。
这是一个MSDN示例,显示了使用ThreadPoolTimer
的IBackgroundTask
实现(参见samplebackgroundtasks .cs): http://code.msdn.microsoft.com/windowsapps/Background-Task-Sample-9209ade9/sourcecode?fileId=43572&pathId=498327315
不工作的一个潜在原因是,如果您没有保留对从IBackgroundTaskInstance.GetDeferral()
返回的对象的引用,这将导致您的后台任务在IBackgroundTask.Run
返回后过早完成。上面链接的示例做到了这一点,我相信这也是BackgroundMediaPlayer Audio任务继续播放音乐所必需的,所以如果你还没有这个,我会感到惊讶。
最后,appxmanifest文件中MusicBackgroundTask
声明中的"Timer"任务类型对ThreadPoolTimer
的使用没有影响。"Timer"任务类型允许TimeTrigger
和MaintenanceTrigger
触发器触发IBackgroundTask
入口点