关于VC 中使用playsound播放不出声音的问题

在VC程序中使用PlaySound()在之前的程序中已成功使用过此函数现在我在一个Dlg(对话框类中使用此函数)用一个Button启动PlaySound文件已经加入该文件... 在VC程序中使用PlaySound() 在之前的程序中已成功使用过此函数
现在我在一个Dlg(对话框类中使用此函数) 用一个Button启动PlaySound 文件已经加入该文件夹中 但是就是无法播放
注明:我已添加
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
具体代码如下:
void CDlgResult::OnButton1()
{
PlaySound("D:\Program Files\Microsoft Visual Studio\MyProjects\expression_test\cstrain5.wav",NULL,SND_ASYNC|SND_FILENAME);
// if(PlaySound("D:\Program Files\Microsoft Visual Studio\MyProjects\expression_test\normal_0.wav",NULL,SND_ASYNC|SND_FILENAME)==TRUE) //打不开 为什么?
// MessageBox("OK"); //能够显示出OK 也就是说PlaySound返回的是True why?
// else
// MessageBox("False!");

}
展开
 我来答
mayadong7349
2011-02-22 · TA获得超过2356个赞
知道大有可为答主
回答量:362
采纳率:0%
帮助的人:669万
展开全部
1.
D:\Program Files\Microsoft Visual Studio\MyProjects\expression_test\normal_0.wav
改为:
D:\\Program Files\\Microsoft Visual Studio\\MyProjects\\expression_test\\normal_0.wav
2.
#include <stdio.h>
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
int main(void)
{
BOOL bIsplaying ;
bIsplaying = PlaySound("E:\\myd\\work\\API\\ziyuan\\s_Connected.wav", NULL, SND_FILENAME | SND_SYNC );
printf("%d\n",bIsplaying);
return 0;
}这个是同步播放(SND_SYNC)的,可以正常播放,并输出1。如果换为异步方式(SND_ASYNC)就仅仅输出1了。原因我也不知道。你改为同步试试,并通过发送消息来控制音乐播放的结束。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式