Windows MessageBeep不播放任何声音
我试图使用API播放声音,但没有声音播放Windows MessageBeep不播放任何声音,windows,winapi,Windows,Winapi,我试图使用API播放声音,但没有声音播放 MessageBeep(MB_ICONINFORMATION); MessageBeep(MB_ICONASTERISK); MessageBeep(MB_ICONEXCLAMATION); MessageBeep(MB_ICONERROR); MessageBeep(MB_ICONHAND); MessageBeep(MB_ICONINFORMATION); MessageBeep(MB_ICONQUESTION); MessageBeep(MB_IC
MessageBeep(MB_ICONINFORMATION);
MessageBeep(MB_ICONASTERISK);
MessageBeep(MB_ICONEXCLAMATION);
MessageBeep(MB_ICONERROR);
MessageBeep(MB_ICONHAND);
MessageBeep(MB_ICONINFORMATION);
MessageBeep(MB_ICONQUESTION);
MessageBeep(MB_ICONSTOP);
MessageBeep(MB_ICONWARNING);
MessageBeep(MB_OK);
- 是的,我插上了扬声器
- 是的,音量调大了
- 是,我听到其他信息蜂鸣(UAC、默认、错误等)
- 是,我听到来自其他应用程序的音频()
- Windows 10.0.14393 64位
- 交互连接(即不通过终端服务远程桌面会话)
- 函数(返回
)返回BOOL
true
- 是,在控制面板的声音小程序中设置了“默认”声音
- Beep服务已启动(尽管
功能与此无关)Beep
- 不允许应用程序独占控制我的默认(也是唯一)声音设备:
- Windows不尝试播放任何声音;在混音器中看不到“输出电平”:
- Windows 10 64位
- Windows 7 64位
- Windows 7 64位
- 德尔菲5
- 德尔福7
- 德尔福XE6
- ()
-
Windows
功能从Windows 7开始重新设计,不再使用PC扬声器,现在使用默认的声音设备Beep
- 我现在已经解决了这个问题
第一步:单击扬声器图标上的任务栏
进入选项,您必须调整系统声音。
截图是在Windows7 Family prenium法语版上拍摄的,但在最新版本中可能几乎相同
它是否适用于非控制台应用程序?只是好奇。我还没有试过你的代码示例。它不是很正常的代码。它在几微秒内完成这些MessageBeep()调用并终止程序。没有声音。睡一会儿听点什么。@ZamronyP.Juhara它不适用于任何应用程序。我发现在GUI按钮点击时没有声音。人们都被这个例子分心了——这也不起作用。我已经删除了我的答案。我无法重现这个问题,无论是您的控制台还是GUI示例。您确定问题出在MessageBeep而不是您的声音配置本身吗?您是否从其他应用程序(如资源管理器)获取声音?(顺便说一句,你应该看看MessageBeep的文档;它接受你传递给它的大约一半的常量,其中一些是多余的,因为它们是同义词。我会删除除$FFFFFF之外的所有调用;如果它起作用,其他的会。)@KenWhite我收到UAC、默认、UAC插入和删除声音。我想那一定是我的电脑;但我在两台同事的机器上试过。他们的机器也完全可能处于不受支持的硬件配置中:我们都可以听到声音,我们都可以听到其他标准的通知声音,但MessageBeep不起作用。
procedure TForm4.Button1Click(Sender: TObject);
begin
MessageBox(0, 'About to play sounds', 'TestApp', MB_OK);
MessageBeep(MB_ICONINFORMATION);
MessageBeep(MB_ICONASTERISK);
MessageBeep(MB_ICONEXCLAMATION);
MessageBeep(MB_ICONERROR);
MessageBeep(MB_ICONHAND);
MessageBeep(MB_ICONINFORMATION);
MessageBeep(MB_ICONQUESTION);
MessageBeep(MB_ICONSTOP);
MessageBeep(MB_ICONWARNING);
MessageBeep(MB_OK);
MessageBeep($ffffffff);
MessageBox(0, 'After playing sounds', 'TestApp', MB_OK);
end;