【问题标题】:Sound Multithreading声音多线程
【发布时间】:2011-06-08 15:12:32
【问题描述】:

我想在游戏运行时播放声音。我知道如何播放声音和运行游戏,但我不能同时进行。播放声音时 DOS 游戏暂停。这是声音的 cpp 代码:

void watersplashsound()
{PlaySound(TEXT("waterSPLASH.wav"), NULL, SND_FILENAME);}

我不知道这是否是您必须使用多线程的情况。我想我知道什么是多线程,但我不确定。

【问题讨论】:

  • 您使用的是哪个库或 API? (PlaySound 在哪里?)

标签: c++ multithreading background audio dos


【解决方案1】:

Playsound 需要另一个标志才能不同步运行。像这样称呼它:

void watersplashsound()
{
  PlaySound(TEXT("waterSPLASH.wav"), NULL, SND_FILENAME | SND_ASYNC);
}

请注意,在声音结束之前我不知道如何停止。

【讨论】:

  • @someguy 如果此答案对您有所帮助,请单击其旁边的复选标记以确认这是最有用的答案。
  • 停止异步播放声音:PlaySound(NULL, 0, 0);
  • 我将使用等待功能并尝试设置它
  • 游戏进行时不播放声音的 Nvm
  • @someguy,您尝试过使用 SND_ASYNC 吗?不是 SND_SYNC,而是带有“A”。
猜你喜欢
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多