首页 > 解决方案 > 如何防止 WMPLib.WindowsMediaPlayer 在计算机休眠时停止播放音乐?

问题描述

我编写了一个 Winforms 应用程序,它通过使用 WMPLib.WindowsMediaPlayer 播放声音来为某些事件发出警报。但问题是,当系统处于睡眠状态时,它什么也不播放。

只要我按下键盘上的一些按钮,您就会看到 Windows 指纹/PIN 屏幕,如果警报事件处于活动状态,声音就会开始播放。

无论系统睡眠状态如何,我怎样才能让它播放声音。

在这种情况下,我是否必须用代码唤醒计算机?如果是这样,怎么做?

标签: c#.netwinformsalarmwakeup

解决方案


我不确定,但看起来你可以创建一个计时器,它会在所需的时刻唤醒系统。然后你就可以像往常一样播放你的声音了。这个想法如下:

  • 创建一个等待计时器CreateWaitableTimerW
  • 将计时器设置为所需的时间SetWaitableTimer,通过fResume=TRUE
  • 等待计时器WaitForSingleObject
  • 像往常一样播放你的声音。

推荐阅读