0

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

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

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

“在锁定屏幕下运行的所有应用程序必须在收到屏幕锁定通知时停止任何 UI 更新、活动计时器和其他非关键处理。” 所以我不能使用它,因为我的应用程序必须能够在锁定屏幕下运行。我可以做些什么来在一段时间间隔后或在设定的时间停止播放音乐?

4

1 回答 1

0

和其他非关键处理

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

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

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

private void TurnOffMusic()
{
    Thread.Sleep(1000 * 60 * 60 * 2); // Sleep for two hours
    // Turn off the music
}
于 2013-08-22T12:22:08.160 回答