C++PlaySound函数,如何用PlaySound函数来播放一个声音资源文件?

作者&投稿:柞利 (若有异议请与网页底部的电邮联系)
C++中用playsound函数怎么让两个声音文件同时播放~

函数原型为 BOOL
PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);
参数pszSound是要播放声音的文件名,只支持WAV等格式的文件,
参数hmod是应用程序的实例句柄,一般传递NULL就可以,
参数fdwSound是标志的组合掩码,可选值有SND_FILENAME、SND_ASYNC、SND_SYNC等。
SND_FILENAME表示pszSound参数指定的是文件名(pszSound还可以指定资源、内存音乐、系统音乐等等);
SND_ASYNC:用异步方式播放声音,PlaySound函数在开始播放后立即返回;
SND_SYNC:同步播放声音,在播放完后PlaySound函数才返回;
SND_LOOP一遍遍的重复播放声音,必须与SND_ASYNC标志一块使用。
举例:
PlaySound(TEXT("C:\\WINDOWS\\Media\\Windows XP
启动.wav"),NULL,SND_FILENAME|SND_SYNC);

注:在vs2010环境下,需要加上#pragma comment(lib,
"winmm.lib")

#include "resource.h"

添加资源以后会生成一个.h没错吧?

#include "stdafx.h"
#include <Windows.h>
#include <mmsystem.h>
#include <iostream>
#include "resource.h"
#include <libloaderapi.h>
#include <WinUser.h>

int _tmain(int argc, _TCHAR* argv[])
{
    int soundResourceID = IDR_WAVE1;
     HINSTANCE hInst = NULL;
     try{
      BOOL bRtn;
      LPVOID lpRes;
      HANDLE  hRes;
      HRSRC hResInfo;
      // Find the WAVE resource.
      hResInfo = FindResource(hInst, MAKEINTRESOURCEW(soundResourceID), L"WAVE");
      if (hResInfo == NULL)
           throw std::exception("Cannot find the resource");
      // Load the WAVE resource.
      hRes = LoadResource(hInst, hResInfo);
      if (hRes == NULL)
          throw std::exception("Cannot load the resource");
      // Lock the WAVE resource and play it.
      lpRes = LockResource(hRes);
      if (lpRes != NULL) {
           bRtn = sndPlaySoundW((wchar_t*)lpRes, SND_MEMORY | SND_SYNC |
                SND_NODEFAULT);
          UnlockResource(hRes);
          MessageBoxW(NULL, L"Playing sound", L"", 0);
      }
      else
           bRtn = 0;
          // Free the WAVE resource and return success or failure.
          FreeResource(hRes);
     }
     catch (const std::exception& e)
     {
          MessageBoxA(NULL, e.what(), "", 0);
     }
    
     return 0;
}

需要注意 不要忘记代码中的 #include 这几项,还有需要在项目(不是解决方案)的属性页面中进行如上图的设置 在 Configuration Properties->Linker->Input->Additional Dependences 中加入 winmm.lib .

 

另外补充一下如何打开 项目属性页面,如下图所示

我还上传了源代码,请查看附件

对于您的问题 请参考 https://msdn.microsoft.com/en-us/library/dd743679(v=vs.85).asp




ps5是哪个公司的
全称是PlayStation5。是索尼公司。一;索尼(英语:SonyCorporation;日语:ソニ_株式会社)是日本一家全球知名的大型综合性跨国企业集团。总部设于日本东京都港区港南1-7-1。索尼是世界视听、电子游戏、通讯产品和信息技术等领域的先导者,是世界最早便携式数码产品的开创者,是日本最具有代表性的数码产品制造...

守护甜心角色歌歌词
日奈森亚梦角色歌 おひさまニコニコ(サニーデイ)(太阳公公微笑著〔SUNNY DAY〕)空には虹色(キャンディ)(天空里溢满七色〔CANDY〕)パラソルくるくる(まわして)(太阳伞转啊转〔在转动〕)甘くはじけるよ(メロディ)(甜美漾开来罗〔MELODY〕)五线纸の地図広げて (展开五线谱的...

视频广告怎么去掉 优酷视频广告屏蔽方法【详解】
欲了解更多或立即下载,请访问https:\/\/sogou.37moyu.com\/  视频广告怎么去掉? 优酷坚持依循高端、大气的品牌路线,最长的广告时间称霸全互联网,以"合计划"为导向,联手众多合作伙伴 展开资源整合和内容拓展,充分借鉴跨平台媒体运作经验。很多朋友都喜欢在优酷上面看视频,但是很让人烦恼的就是前面的一...

东方神起TONE中Duet的罗马音歌词
Duet 东方神起 作曲︰井上慎二郎 作词︰井上慎二郎 歌词 ふたりで交わす言叶 それが歌になるのなら 君が気に入ったのは どんな melody なんだろう?急にこの世界が 昨日と违ってても 君がいればそれだけで また奏でられる duet.复雑な现実も 予想出来ない筋书きも ふたりでいれば...

火影忍者主题曲[Alive]歌词中文翻译<最好是准确的>
沉浸于无尽的后悔之中,只会让这次伤白受 在手腕上刻上勋章,从今往后的生涯是我们的show time 从这个褪了色的pora?(不懂)中长大的过去的我 总是自以为是的徘徊其中,仿佛就像找到生存意义找到阳光一样 每天NARUTO-ナルト-(火影忍者)TV版片尾曲(完整版)纠缠于这样的感觉 应该向前迈出一步的愿望...

单机游戏在哪里下载
16.西部游戏网 http:\/\/www.westgame.net\/ 17.悠虎游戏网 http:\/\/www.oplay.com\/soft\/sort\/6_1.htm 18.游戏第一下载 http:\/\/game.mqxmq.com 19.黄金FPS联盟 ht 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 百度网友944246a 2006-02-02 · TA获得超过567个赞 知道小有建树答主 回答...

东方神起的较有名的歌和好听的歌
1.A Whole New World(Special Track)2.All In Vain 3.Always There(清)4.Angle We Have Heard On High(清)5.Balloons 6.Balloons(New ver)7.Beautiful Life 8.Beautiful Life (日)9.Begin 10.Begin(清)11.Break up the shell 12.Choosey Lover 13.Choosey Lover(R.Yamaki's Groove Mix)...

跪求阳炎曲的中文歌词QAQQQQ!!雪地打滚露唧唧!
Let's 「play」届くまで叫んで todoku made sakende 喊叫到抵达之前 Let's 「save」叶うまで足掻いて kanau made agaite 争斗到实现之前 その手を掴むまで sono te o tsukamu made 将那双手抓住之前 この温度は忘れない kono ondo wa wasurenai 都不会忘记这份温度 Let's 「daze」心を消...

谁知道这些字母是什么意思?
COSPLAY COSTUME PLAY,扮演自己所喜欢的角色表演,来自于日本〔ko-su-pu-re〕的发音。 cow **,kao。用于骂人。 CT 警察。 CU See You,再见。 DBC 大白痴 DC ①DIGITAL CAMERA(数码相机)。②SEGA出的DREAMCAST著名游戏机种。 DD 弟弟。 di 结构助词“的”,专门用于句子最末,表示强调。例句:不是这样di! DL...

中文翻译成英文 关于网络的 谢谢!!
A trend : from network to play a network netizens concept of mutations, the growth in Internet users "avalanche" period. In China, Internet once or Wangchong owners just as a technical elite is changing the color, "netizens" is playing network from the crowd, to be extended to...

泗洪县15725837530: C++里playsound函数到底如何使用? -
彘玛先妮: PlaySound函数的声明为:BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound); 参数pszSound是指定了要播放声音的字符串,.如果该参数为NULL则停止正在播放的声音.参数hmod是应用程序的实例句柄,除非...

泗洪县15725837530: 怎么在c++中添加歌曲用playsound -
彘玛先妮: 使用PlaySound函数时需要在#include<windows.h>后面加上(注意:不能加在前面): #include <mmsystem.h> #pragma comment(lib, "WINMM.LIB") PlaySound("c:\\WINDOWS\\MEDIA\\TheMicrosoftSound.wav",NULL,SND_FILENAME|SND_ASYNC);

泗洪县15725837530: 如何在C++程序中加入声音 -
彘玛先妮: 你可以通过使用PlaySound函数来解决这个问题. PlaySound函数的声明为: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound); 参数pszSound是指定了要播放声音的字符串.如果该参数为NULL则停止正在播放的声音.参数fdwSound是标志的组合,如下表所示.若成功则函数返回TRUE,否则返回FALSE 使用PlaySound函数时需要在#include<windows.h>后面加上(注意:不能加在前面): #include <mmsystem.h> #pragma comment(lib, "WINMM.LIB")

泗洪县15725837530: c++ playsound怎么用 -
彘玛先妮: g++不支持#pragma comment(lib, "xxx") 这样的写法 老老实实自己在命令行里写 g++ -o orz.exe orz.cpp -lwinmm 另外,不要加ASYNC标志.你的程序会秒退、听不到任何声音

泗洪县15725837530: c++ playsound函数 -
彘玛先妮: #include #include using namespace std; #pragma comment(lib,"winmm.lib") int main() {PlaySound("C: \\music\\ThunderBird",NULL,SND_FILENAME|SND_ASYNC);return 0; } //注意C++关键字是区分大小写的!

泗洪县15725837530: C++中用playsound函数怎么让两个声音文件同时播放 -
彘玛先妮: 函数原型为 BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound); 参数pszSound是要播放声音的文件名,只支持WAV等格式的文件,参数hmod是应用程序的实例句柄,一般传递NULL就可以,参数fdwSound是标志的...

泗洪县15725837530: C++ 用playsound播放wav -
彘玛先妮: #include "windows.h"#include "mmsystem.h"#pragma comment(lib,"winmm.lib") int main(int argc, char* argv[]) { PlaySound(TEXT("c:\\test.wav"), NULL, SND_FILENAME | SND_ASYNC ); return 0; } VC6.0调试通过,因为我没有安装Dev C++,TEXT("c:\\test.wav")括号里面填写绝对路径,注意路径是两个斜杠,请确保C盘下面有这个音乐文件.注意头文件, 如果报错就因该是头文件的原因.

泗洪县15725837530: C语言中PlaySound函数如何播放MP3文件? -
彘玛先妮: 可以使用PlaySound()函数播放声音文件, 该函数原型位于#include <mmsystem.h>中, 因此要使用PlaySound,首先需要添加对这个头文件的引用. 提示:mm就是MultiMedia的简写,多媒体 【1、函数使用说明】 函数原型为: BOOL ...

泗洪县15725837530: PlaySound函数在VC++6.0中如何播放音乐及声音? -
彘玛先妮: 在你要加声音的地方加上下面的函数BOOL PlaySound( LPCSTR pszSound, //你要加载的声音文件的位置 HMODULE hmod, //指向一个可执行的文件...

泗洪县15725837530: C++中闹钟音乐响起后如何使他停止? -
彘玛先妮: 方法:如果你调用的是 PlaySound 这个API函数 那就非常简单了,再调用一次PlaySound函数, 把音乐文件名 参数设置为空字符串 "" 这样就会停止播放了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网