C++ Builder播放铃声

今天在给软件添加提示音的时候,发现以前可以使用的代码不起作用了,搞了半天才发现是资源文件内容格式写错了。

比较好一点的做法如下:

rc文件内容:

  

OK wav "F:/OK.WAV"

使用代码如下:

#include <mmsystem.h>  

#pragma resource "***.res"  =>(**为你自己的资源名称)


//装入Wav文件
HRSRC reshandle = FindResource(HInstance,soundName,__T("WAV"));
if (reshandle != NULL) {
HGLOBAL hglobal = LoadResource(HInstance, reshandle);


if (hglobal != NULL) {
const void* wav_handle = LockResource(hglobal);
//播放Wav文件,由于Wav文件装载在内存中,sndPlaySound函数要用SND_MEMORY参数
if (wav_handle != NULL) {
sndPlaySound((wchar_t*)wav_handle, SND_MEMORY | SND_NODEFAULT | SND_SYNC);
UnlockResource(hglobal);
}


FreeResource(hglobal);
}
}

 

 这样就没问题了,ヾ(◍°∇°◍)ノ゙

二、打开、播放、暂停、关闭音乐


//加载音乐
void MCIVoiceOpen()
{
mciSendString(__T("open ./Sounds/bgm.mp3 alias bgm"), NULL, 0, NULL);


}


//播放音乐
void MCIVoiceStart()
{
mciSendString(__T("play bgm"), NULL, 0, NULL);
}


//停止播放音乐
void MCIVoiceStop()
{
mciSendString("stop bgm", NULL, 0, NULL);
}


//关闭音乐播放
void MCIVoiceClose()
{
mciSendString("close bgm", NULL, 0, NULL);
}

 
原文地址:https://www.cnblogs.com/Master-Qi/p/13967802.html