在给TEASOFT增加背景音乐功能的时候,也就是在原来的MUSICFORM中有增加了一个MediaPlayer对象,在原来播放Video的同时还,使用FootButton控制背景音乐时,使用第二个MediaPlayer进行播放。
但会在有的时候出现“多媒体-设备的名称已被此应用程序用作别名,请使用唯一的别名”的系统错误提示。
解决方法,是在MainFrm.CPP文件中的 PlayPrimeTitleMusic()函数中,使用mciSendCommand()发送Media Close命令,便可以解决这个问题。具体的代码如下:
//---------------------------------------------------------------------------
int TMainForm::PlayPrimeTitleMusic(int nMusic) {
if(MusicForm->Visible) {
if(MusicForm->IfPushFile()) MusicForm->PushFileStack();
}
if(nMusic >= 0) {
//-----------------------------------------------------------------------
if(!FileExists(g_szPrimeTitleMusicFileName)) {
return PlayMusic(nMusic);
}
} else {
if(!FileExists(g_szSecondTitleMusicFileName)) {
return PlayMusic(-nMusic);
}
}
//----------------------------------------------------------------------
ChangeSoundCard();
MusicForm->MediaPlayer1->Close();
mciSendCommand(MusicForm->MediaPlayer1->DeviceID, MCI_CLOSE, NULL, NULL);