加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 未登录时通过扬声器输出声音

发布时间:2020-12-15 09:48:00 所属栏目:大数据 来源:网络整理
导读:我有一个用Delphi XE编写的程序,它使用TMediaPlayer播放WAV文件.该程序在 Windows 7计算机上的系统托盘中运行.程序等待事件触发播放wav文件.如果我在计算机上登录,那么wav就可以了.但是,如果我锁定计算机终端(或通过远程桌面登录),则wav文件无法通过计算机扬
我有一个用Delphi XE编写的程序,它使用TMediaPlayer播放WAV文件.该程序在 Windows 7计算机上的系统托盘中运行.程序等待事件触发播放wav文件.如果我在计算机上登录,那么wav就可以了.但是,如果我锁定计算机终端(或通过远程桌面登录),则wav文件无法通过计算机扬声器播放.我知道事件正在被触发,因为事件处理程序中的所有其他代码都运行正常;只是你听不到wav文件.我已将音量硬编码到最高级别,因此我知道这不是音量问题.如果当前没有人登录到计算机,Windows 7是否有阻止声音通过扬声器的东西?如果存在这种限制,是否有办法绕过它?

解决方法

正如Brad建议的那样,使用PlaySound()而不是TMediaPlayer.当机器被“锁定”时,它工作正常.但不确定它是否可以通过远程桌面连接工作.

为了确认这一点,我创建了一个新的应用程序,在表单上放置了一个TTimer,将Interval属性设置为20000并将此代码放在OnTimer事件中:

procedure TForm13.Timer1Timer(Sender: TObject);
begin
  PlaySound('c:windowsmediatada.wav',SND_ASYNC or SND_FILENAME);
end;

然后我运行它,锁定控制台(使用Windows L),等待20秒.声音播放成功.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读