现在的位置: 首页 > 综合 > 正文

在一个程序中播放背景音乐,以及语音提示

2013年10月05日 ⁄ 综合 ⁄ 共 1290字 ⁄ 字号 评论关闭

#include <mmsystem.h>
class CSound 
{
public:
CSound();
virtual ~CSound();

bool playBackGroundMusicSound(CString,CString);
bool playTippingMusicSound(CString,CString);

public:
MCIDEVICEID m_MCIDeviceID; //播放提示音的变量
MCI_OPEN_PARMS mciOpenParms; //此变量定义为全局变量
MCI_PLAY_PARMS mciPlayParms; //times为控制背景音乐中间不中断的变量
DWORD dwError; //
int times; //播放背景音乐及提示音的变量

};

//播放提示音的函数
bool CSound::playTippingMusicSound(CString fileName,CString fileNameExtension)
{
if(fileNameExtension=="wav" ¦ ¦fileNameExtension=="wave" ¦ ¦fileNameExtension=="WAV" ¦ ¦fileNameExtension=="WAVE")
mciOpenParms.lpstrDeviceType="waveaudio";
else if(fileNameExtension=="mid" ¦ ¦fileNameExtension=="midi" ¦ ¦fileNameExtension=="MID" ¦ ¦fileNameExtension=="MIDI")
mciOpenParms.lpstrDeviceType="sequencer";
else
mciOpenParms.lpstrDeviceType="mpegvideo";
mciOpenParms.lpstrElementName=fileName;

dwError=mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE ¦MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mciOpenParms);
if(!dwError)
return FALSE;
m_MCIDeviceID=mciOpenParms.wDeviceID;
mciPlayParms.dwFrom=0;
dwError=mciSendCommand(m_MCIDeviceID,MCI_PLAY,MCI_FROM ¦MCI_NOTIFY,(DWORD)(LPVOID)&mciPlayParms);
if(!dwError)
return FALSE;
return TRUE;
}

bool CSound::playBackGroundMusicSound(CString,CString)
{
playTippingMusicSound("sound/cxf.mp3","mp3");
// sndPlaySound("d:sound//hh.mp3",SND_ASYNC ¦SND_LOOP);
return true;
}

写在一个类中吧,定义对象调用就可以了

抱歉!评论已关闭.