声音播放函数PlaySound的使用(转的)
2013-03-23 08:48
309 查看
学生问题:
我在vc中建立了一个空项目,然后写了以下代码格式是.cpp,但是运行时并没有出现错误就是不能实现声音播放,我搞不懂了
#include <windows.h>
#include<iostream>
#include<conio.h>
using namespace std;
#pragma comment(lib, "winmm.lib")
void main()
{
PlaySound("D:\\VCsound\\s.wav", NULL, SND_FILENAME | SND_ASYNC);
cout<<"Heloo\n";
getch();
}
分析原因:
上述代码使用到了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()
{
bool playSucc = PlaySound(TEXT("D:\\speech.wav"), NULL, SND_FILENAME | SND_SYNC);
if(playSucc)
{
cout<<"Success to play!"<<endl;
}
else
{
cout<<"Fail to paly!"<<endl;
}
system("pause");
}
解决方案二:不处理pszSound参数,而是更改VC2010的项目属性,但是不太推荐这种方法。为什么呢?套用一位资深代码人的话:让自己的程序适应各种字符集是我们写代码的人义不容辞的义务。还是奉上具体方法如下:
选择菜单:Project->Properties,弹出project的属性对话框,将“general”配置项里的“Character Set”改为“Use Multi-Byte Character Set”。
我在vc中建立了一个空项目,然后写了以下代码格式是.cpp,但是运行时并没有出现错误就是不能实现声音播放,我搞不懂了
#include <windows.h>
#include<iostream>
#include<conio.h>
using namespace std;
#pragma comment(lib, "winmm.lib")
void main()
{
PlaySound("D:\\VCsound\\s.wav", NULL, SND_FILENAME | SND_ASYNC);
cout<<"Heloo\n";
getch();
}
分析原因:
上述代码使用到了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()
{
bool playSucc = PlaySound(TEXT("D:\\speech.wav"), NULL, SND_FILENAME | SND_SYNC);
if(playSucc)
{
cout<<"Success to play!"<<endl;
}
else
{
cout<<"Fail to paly!"<<endl;
}
system("pause");
}
解决方案二:不处理pszSound参数,而是更改VC2010的项目属性,但是不太推荐这种方法。为什么呢?套用一位资深代码人的话:让自己的程序适应各种字符集是我们写代码的人义不容辞的义务。还是奉上具体方法如下:
选择菜单:Project->Properties,弹出project的属性对话框,将“general”配置项里的“Character Set”改为“Use Multi-Byte Character Set”。
相关文章推荐
- MFC中MessageBeep与sndPlaySound播放声音函数使用
- VC中使用低级音频函数WaveX播放声音文件
- 使用PlaySound播放Wave声音文件
- 播放声音函数PlaySound的用法
- c++——使用PlaySound()播放声音
- vc播放声音函数PlaySound和sndPlaySound的用法
- VC中使用低级音频函数WaveX播放声音文件
- VC中使用低级音频函数WaveX播放声音文件
- VC播放声音函数PlaySound和sndPlaySound的用法
- VC中使用低级音频函数WaveX播放声音文件
- VC++中使用低级音频函数WaveX播放声音文件
- VC中使用低级音频函数WaveX播放声音文件
- android使用声音池播放声音
- python使用PyGame模块播放声音的方法
- 使用wmp控件连续播放多个声音文件的代码(计算机报时程序C#)
- MFC:PlaySound播放声音资源
- 使用winsound模块播放声音
- Android 音频播放之SoundPool的使用和封装(自定义声音资源)
- 使用jni调用ffmpeg.so中的H264解码函数播放文件
- 操作 Wave 文件(9): 使用 waveOut... 函数播放 wav 文件