C/C++中使用PlaySound()播放音乐

在.h加入

#include "mmsystem.h"//導入聲音頭文件

#include "windows.h"

#pragma comment(lib,"winmm.lib")//導入聲音頭文件庫


.cpp写

//播放内部资源(.wav格式)音乐,异步方式播放,指定是WAVE资源标识符,不播放缺省声音,音乐循环
PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(), SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP);


只支持.wav格式音乐文件,mp3、flac等格式可百度寻找方法转换成wav格式

一些用过这个函数的人一般都会碰到一些问题

1.内部资源wav如何导入? 答:ResourceView->右击根目录->引入->选中.wav格式文件

2.出现无法编译通过错误,一般由导入库文件的方式有误引起.

解决方案:(1)一定要是在头文件中加入,上面3个。(2)检查是否写错了(3)添加库文件方式稳妥方法可用:工程->设置->连接->对象/库模块:加上WINMM.LIB 若有多个,打个空格再加上去 按确认,这个操作后 相当于#pragma comment(lib,"winmm.lib")//導入聲音頭文件庫

3.若无法播放声音,检查PlaySound()的第三个参数序列,SND_RESOURCE在加载内部资源的时候必须要加上,其他次要。


第二种方式:使用绝对路径加载音乐 前面步骤一样,改写PlaySound()函数参数

PlaySound("音乐路径",AfxGetResourceHandle(), SND_ASYNC|SND_NODEFAULT|SND_LOOP);

音乐路径一定要将\ 改为\\  例如:c:\music.wav 改为c:\\music.wav  至于为什么!自己查查百度  \转义字符?貌似是这么样的,出现\\在字符串里面,第二个\就是字符,第一个\是告诉电脑,第二个\是字符哦!而不是特殊字符!!

猜你喜欢

转载自blog.csdn.net/qq_39574690/article/details/78797156