学生问题:
我在vc中建立了一个空项目,然后写了以下代码格式是.cpp,但是运行时并没有出现错误就是不能实现声音播放,我搞不懂了
#include <windows.h>
#include<iostream>
#include<conio.h>
using namespace std;
#pragma comment(lib, "winmm.lib")
void main()
{
}
分析原因:
上述代码使用到了BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound)这个声音播放API函数。这个函数具体用法网上有很多,在这里不再赘述。上述代码在VC6.0开发环境中可能运行起来完全没有问题,能够很好的播放wav格式声音文件。但是在VC2010开发环境中,字符串的表达不一样了,同样的代码,也许编译能够通过,但是运行起来会找不到pszSound参数表示的声音文件。需要对pszSound参数做一定的处理。
解决方案一:下面的代码是在VC2010开发环境中运行没有问题的,能够很好的播放wav声音文件。
#include <windows.h>
#include<iostream>
using namespace std;
#pragma comment(lib, "winmm.lib")
void main()
{
}
解决方案二:不处理pszSound参数,而是更改VC2010的项目属性,但是不太推荐这种方法。为什么呢?套用一位资深代码人的话:让自己的程序适应各种字符集是我们写代码的人义不容辞的义务。还是奉上具体方法如下:
选择菜单:Project->Properties,弹出project的属性对话框,将“general”配置项里的“Character Set”改为“Use Multi-Byte Character Set”。