c+的背景音乐+; 在C++中播放wave文件时,程序不再执行任何其他操作。通常情况下,您必须等待曲目完成,然后程序将继续,但我正在播放循环曲目,需要在程序执行时播放。有办法做到这一点吗?谢谢 PlaySound("sleep_away.wav", NULL, SND_FILENAME|SND_LOOP); cout << "x1" << endl; cin >> x1; cout << "y1" << endl; cin >> y1; cout << "x2" << endl; cin >> x2; cout << "y2" << endl; cin >> y2; double f = slope (x1,y1,x2,y2); cout << "y = " << m << "x + " << yi << endl; PlaySound(“sleep_away.wav”,NULL,SND_文件名| SND_循环); cout-x1; couty1; cout-x2; couty2; 双f=斜率(x1,y1,x2,y2); 正如Benjamin Lindley所写的,API中有SND_异步选项,我没有考虑它。或者,你可以享受线程的乐趣

c+的背景音乐+; 在C++中播放wave文件时,程序不再执行任何其他操作。通常情况下,您必须等待曲目完成,然后程序将继续,但我正在播放循环曲目,需要在程序执行时播放。有办法做到这一点吗?谢谢 PlaySound("sleep_away.wav", NULL, SND_FILENAME|SND_LOOP); cout << "x1" << endl; cin >> x1; cout << "y1" << endl; cin >> y1; cout << "x2" << endl; cin >> x2; cout << "y2" << endl; cin >> y2; double f = slope (x1,y1,x2,y2); cout << "y = " << m << "x + " << yi << endl; PlaySound(“sleep_away.wav”,NULL,SND_文件名| SND_循环); cout-x1; couty1; cout-x2; couty2; 双f=斜率(x1,y1,x2,y2); 正如Benjamin Lindley所写的,API中有SND_异步选项,我没有考虑它。或者,你可以享受线程的乐趣,c++,winapi,codeblocks,C++,Winapi,Codeblocks,或 如果您想在执行其他代码的同时继续播放音乐,则需要在不同的线程中启动音乐播放代码。您可以使用C++11线程来完成它 示例代码 #include <iostream> #include <thread> void play_music() { PlaySound("sleep_away.wav", NULL, SND_FILENAME|SND_LOOP); } int main(int argc, char* argv[]) { std::thread t(p

如果您想在执行其他代码的同时继续播放音乐,则需要在不同的线程中启动音乐播放代码。您可以使用
C++11
线程来完成它

示例代码

#include <iostream>
#include <thread>

void play_music() {
  PlaySound("sleep_away.wav", NULL, SND_FILENAME|SND_LOOP);
}

int main(int argc, char* argv[])
{
  std::thread t(play_music);

  // other code

  t.join();

    return 0;
}
#包括
#包括
void play_music(){
播放声音(“sleep_away.wav”,NULL,SND_文件名| SND_循环);
}
int main(int argc,char*argv[])
{
std::线程t(播放音乐);
//其他代码
t、 join();
返回0;
}

正如本杰明·林德利(Benjamin Lindley)所写,API中有SND_异步选项,我没有考虑它。或者,你可以享受线程的乐趣

如果您想在执行其他代码的同时继续播放音乐,则需要在不同的线程中启动音乐播放代码。您可以使用
C++11
线程来完成它

示例代码

#include <iostream>
#include <thread>

void play_music() {
  PlaySound("sleep_away.wav", NULL, SND_FILENAME|SND_LOOP);
}

int main(int argc, char* argv[])
{
  std::thread t(play_music);

  // other code

  t.join();

    return 0;
}
#包括
#包括
void play_music(){
播放声音(“sleep_away.wav”,NULL,SND_文件名| SND_循环);
}
int main(int argc,char*argv[])
{
std::线程t(播放音乐);
//其他代码
t、 join();
返回0;
}
根据以下内容:

SND\u ASYNC异步播放声音,播放声音立即返回
在开始声音之后。终止异步播放的
波形声音,在pszSound设置为空的情况下调用PlaySound。
因此:

根据报告:

SND\u ASYNC异步播放声音,播放声音立即返回
在开始声音之后。终止异步播放的
波形声音,在pszSound设置为空的情况下调用PlaySound。
因此:


今天早些时候,我看了音频文档,完全看过头了,但它很有魅力。谢谢今天早些时候,我看了音频文档,完全看过头了,但它很有魅力。谢谢我选择了本杰明的选择,但我一定会记住这一点,以备将来参考。谢谢我选择了本杰明的选择,但我一定会记住这一点,以备将来参考。谢谢