我有一个俄罗斯方块游戏,我想向其中添加背景音乐。
我正在尝试使用PlaySound(TEXT("Tetris.wav"), NULL, SND_SYNC);
,但是我没有听到音乐,而是得到了“Windows声音”。
它编译。我猜它不想用过剩。
这是我的main()
int main(int argc, char **argv)
{
PlaySound(TEXT("Tetris.wav"), NULL, SND_SYNC);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(600,600);
glutInitWindowPosition(1000, 10);
glutCreateWindow("Tetris");
glClearColor(0, 0, 0, 1);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 150, 200, 0, -1.0, 1.0);
glutDisplayFunc(display);
timer(0);
glutSpecialFunc(keyEvent);
glutMainLoop();
}
我有
#include <Windows.h>
和#include <MMSystem.h.>
,在这里工作正常:#include <iostream>
#include <Windows.h>
#include <MMSystem.h.>
using namespace std;
int main()
{
PlaySound(TEXT("Tetris.wav"), NULL, SND_SYNC);
cout << "Hello world!" << endl;
return 0;
}
那是因为过剩吗?我能以某种方式解决吗?
最佳答案
首先,您最好使用绝对路径。
其次,如the official documentation所述,我将使用SND_FILENAME
标志。
(我无法想象这与GLUT有任何关系。)
关于c++ - PlaySound不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49369381/