关于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!");
} 展开
现在我在一个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!");
} 展开
1个回答
展开全部
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了。原因我也不知道。你改为同步试试,并通过发送消息来控制音乐播放的结束。
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了。原因我也不知道。你改为同步试试,并通过发送消息来控制音乐播放的结束。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询