锁定屏幕下的Windows Phone计时器

时间:2013-08-22 12:14:40

标签: timer windows-phone-8 locked

我尝试制作一个播放声音的Windows Phone应用程序,以帮助您入睡。我使用SoundEffect类,以便我可以混合多个声音文件。认证要求说

  

“应用程序即使在运行时也可以在后台播放媒体   它的主要功能与音乐或视频无关。一个应用程序   播放音乐,音频或音效必须满足以下要求   要求:“”不得使用SoundEffect类来播放   在应用程序中连续背景音乐曲目。“    因此,如果SoundEffect类在锁定屏幕下播放连续音乐是可以的,对吧?

我用DispatcherTimer类制作了一个计时器,这样用户就可以设置声音停止的时间,这样电池就不会死了。但是认证要求说明了

  

“在锁定屏幕下运行的所有应用都必须停止任何UI更新,   通知时,活动计时器和其他非关键处理   屏幕被锁定。“   所以我无法使用它,因为我的应用程序必须能够在锁定屏幕下运行。如果在一段时间间隔或设定的时间后停止播放音乐,我该怎么办?

1 个答案:

答案 0 :(得分:0)

  
    

和其他非关键处理

  

关闭音乐是应用的关键功能,因此是一项重要的处理。

也就是说,由于DispatcherTimer对UI有很强的依赖性,我不知道它是否能在锁定屏幕下正常运行。您应该使用经典计时器,甚至更好,只使用带有Thread.Sleep指令的线程。

例如,如果您必须在屏幕锁定两小时后停止播放音乐,请在Obscured事件中启动一个主题并使其休眠两小时:

private void TurnOffMusic()
{
    Thread.Sleep(1000 * 60 * 60 * 2); // Sleep for two hours
    // Turn off the music
}