【问题标题】:Windows Phone timer under locked screen锁定屏幕下的 Windows Phone 计时器
【发布时间】:2013-08-22 12:14:39
【问题描述】:

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

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

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

“在锁定屏幕下运行的所有应用程序都必须停止任何 UI 更新, 活动计时器,以及其他非关键处理,当通知 屏幕已锁定。” 所以我不能使用它,因为我的应用程序必须能够在锁定屏幕下运行。在某个时间间隔或设定的时间后,我该怎么做才能停止播放音乐?

【问题讨论】:

    标签: timer windows-phone-8 locked


    【解决方案1】:

    和其他非关键处理

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多