小弟想让MFC写的程序发出声音,但不知道如何实现,还望达人们给些建议。跪谢了!!!
解决方案 »
- 关于结构体中指针的负值问题,谢谢!
- res = ::RegQueryValueEx(key,"FilterData",0,NULL,filterName,&actuallen);返回不为ERROR_SUCCESS,哪儿错了?
- gif每祯的显示时间如何设定
- 发送的问题[初学]
- 关于网络共享安全编程的一个问题,请大家来讨论一下
- 请教树形控件的用法
- 我想问一个关于struct的问题
- 如何用一个函数创建一个线程,同时用函数的参数 给线程传参数(参数的个数和含义是固定的吗)
- 如何看一个文件被那些程序锁定??
- 如何对基于对话框的程序框图的标题赋值?
- directX 的问题
- GetOwner、GetParent、GetParentOwner的区别
PlaySound
mciSendCommand
waveOut***自己挑吧
#include "Mmsystem.h"
#pragma comment(lib,"Winmm.lib")
CString str1="c:\\a.wav"; //注意用双\
BOOL result=sndPlaySound(str1,SND_ASYNC); 参数说明
SND_ASYNC 异步播放声音,开始播放就立即返回,如果要终止,令lpszSoundName(即第一个参数)为NULL调用
sndPlaySound()
SND_LOOP 反复播放,直到lpszSoundName为NULL。为循环播放还必须指定SND_ASYNC标志位
SND_MEMORY lpszSoundName参数的指定,在内存中WAV声音文件的映像
SND_NODEFAULT 如果声音文件未找到,不播放默认的声音并返回
SND_NOSTOP 如果正在播放声音,函数不播放指定的声音并立即返回FALSE
SND_SYNC 异步播放声音,直到播放完成函数才返回
注:WAV文件最大约为100K
在MainFrm.cpp文件的开始部分加入下列语句:
#include "mmsystem.h"//多媒体
#pragma comment(lib,"winmm.lib")//多媒体
在CMainFrame::OnCreate()函数中加入下列语句即可:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
......
BOOL r = sndPlaySound("start.wav",SND_ASYNC|SND_NODEFAULT);//播放WAV文件
ASSERT(r);
Sleep(4500);
r = sndPlaySound("",SND_ASYNC|SND_NODEFAULT);//停止播放
return 0;
}