gpt4 book ai didi

c++ - PlaySound()函数不会播放声音

转载 作者:行者123 更新时间:2023-12-03 01:53:03 24 4
gpt4 key购买 nike

第一个问题,对不起,如果我没有做正确的事情:S。我正在尝试在控制台窗口中创建的游戏播放时循环播放背景音轨。这是小组项目的一部分。游戏运行正常,但我无法使用PlaySound()函数来播放音轨。这是我尝试找出问题的测试程序。

#include <iostream>
#include <windows.h>
#include <mmsystem.h>

using namespace std;

int main()
{

PlaySound(TEXT("D:\\CodeBlocks:\\Programming Work:\\SoundTest:\\castor.wav"), NULL, SND_FILENAME|SND_ASYNC|SND_LOOP);
if(PlaySound(TEXT("D:\\CodeBlocks:\\Programming Work:\\SoundTest:\\castor.wav"), NULL, SND_FILENAME|SND_ASYNC|SND_LOOP))
{
cout << "It's Working." << endl;
}
else
{
cout << "It's not working." << endl;
}
cout << "Hello world!" << endl;

return 0;
}

我的测试用例返回true(或“正在运行”。),当我在学校计算机实验室中尝试使用它时,它将循环默认的Windows错误提示音,即使该函数找不到您指定的文件,该提示音也会播放,即使我给了它整个文件路径。我不知道为什么找不到文件,我已经四重检查它实际上位于我写文件路径的位置,但似乎仍然找不到它。我尝试将.mp3和.wav格式都用于音频文件。有人知道发生了什么吗?
(注意:为此,需要为链接器提供winmm库)

最佳答案

谢谢大家,我发现了实际的问题,甚至一直没有代码。原来我的音频文件(castor.wav)实际上不是wav格式,这是PlaySound()函数所必需的,即使计算机告诉我它是.wav(即使我显示了文件的属性,说是wav格式)。

这是因为我试图通过简单地将.mp3更改为.wav来将其从.mp3转换,应该会更好。使用了实际的转换程序(并删除了确切的文件路径并仅为其提供了TEXT(“castor.wav”)之后,它的工作就像一个魅力。感谢您的帮助!

关于c++ - PlaySound()函数不会播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38042254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com