C++ 中的 Playsound() 播放 windows 错误声音,我已经包含了 winmm.lib
Posted
技术标签:
【中文标题】C++ 中的 Playsound() 播放 windows 错误声音,我已经包含了 winmm.lib【英文标题】:Playsound() in C++ playing windows error sound, I have included winmm.lib 【发布时间】:2018-04-27 20:54:44 【问题描述】:我正在尝试在 C++ 中使用 Playsound()。
我查看了所有内容,但总是听到默认的 Windows 错误声音。
PlaySound(TEXT("D:\\Pokemon Game Stuff\\Programming\\Tests\\city simulator\\Sound.wav"), NULL, SND_FILENAME | SND_ASYNC);
winmm.lib 已在链接器设置中设置。 完整的位置和文件名已经过测试。 我正在使用 Code::Blocks 并使用 C++ 14 标准进行编译。
【问题讨论】:
【参考方案1】:根据PlaySound()
文档:
SND_FILENAME
pszSound
参数是一个文件名。 如果找不到文件,则函数播放默认声音,除非设置了SND_NODEFAULT
标志。...
PlaySound
在以下目录中搜索声音文件:当前目录; Windows 目录; Windows系统目录;PATH
环境变量中列出的目录;以及映射到网络中的目录列表。如果函数找不到指定的声音并且没有指定SND_NODEFAULT
标志,PlaySound
将使用默认的系统事件声音。如果该函数既找不到系统默认入口也找不到默认声音,则不发出声音并返回FALSE
。
仔细检查文件是否确实存在于您指定的路径中,并且运行您的应用程序的用户有权访问该文件。
【讨论】:
以上是关于C++ 中的 Playsound() 播放 windows 错误声音,我已经包含了 winmm.lib的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PlaySound() 或任何基本函数/方法在 C++ 中同时播放 1 个以上的 .wav 声音?
如何使用 Python 中的 playsound 模块同时播放两种声音?