关键代码
PlaySound(L"path", NULL, SND_ASYNC);
除了关键代码外,需要添加头文件MMSystem.h和连接器winmm.lib,就可以播放mav音频了,其中路径不知道为什么我的相对路径不能播放,而绝对路径才可以,如下
D:\\media\\Test\\test1\\TheClassic.wav
具体实现
1. 打开Visual Studio,创建一个Windows桌面应用程序  创建好后,运行程序,可有如下的界面(本实验命名项目名称为test1,可以自由命名)  2. 创建菜单,并编辑菜单的ID。 找到资源视图,如下图所示,一般在圈圈处可切换,或者快捷键Ctrl +Shift +e  切换到资源视图后,点击Menu下的文件,在左边图形化界面编辑菜单  此时系统会再Resource.h文件自动添加新增菜单的ID,但是自动生成的ID命名不规范,如下图,这两个资源标识就是“播放音频”、“停止播放”选项所对应的消息,需要手动修改。 回到资源视图,双击菜单,编辑菜单的属性,将“播放音频”选项的ID修改为ID_DISP_SOUND,将“停止播放”选项的ID,由ID_32772改为ID_STOP_SOUND。  再回到Resource.h文件中,系统会自动生成相应的ID名称,但是原来的生成的ID也没有删除,可以手动删除。
3. 添加代码 (1) 在主文件.cpp添加头文件,如我创建的项目名为test1,其相应的主文件是test1.cpp
#include <MMSystem.h>
MMSystem.h是函数PlaySound原型声明的头文件。添加这个包含语句时,需要注意不要把#include <MMSystem.h>放在最前,而是放在已有的包含语句之后。 (2) 模仿主窗口函数中的消息处理结构,添加菜单选项的处理代码,还是在test1.cpp 注意:音频文件的路径需要“\”
case ID_DISP_SOUND:
PlaySound(L"D:\\1_school_four\\media\\Test\\test1\\TheClassic.wav", NULL, SND_ASYNC);
break;
case ID_STOP_SOUND:
PlaySound(NULL, NULL, SND_ASYNC);
break;
 4. 添加winmm.lib 项目–>test1.cpp(项目主程序)属性–>连接器–>输入–>点击附加依赖项右边的框–>编辑–>填入winmm.lib–>确认  5. 运行,点击播放音频,相应的播放音频文件,然后点击停止播放后,播放停止。
|