在制作的程序中使用MCI来实现背景音乐播放,在调用:
mciError = mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,(DWORD)&mciOpen);
时,当播放第二次,就会出现如下错误提示:
“设备的名称已被此应用程序用作别名。请使用唯一的别名。”
网上找了一下,才知道是设备ID的问题,是因为使用了相同的Device ID,而MCI_OPEN之后没有MCI_CLOSE。在Open设备之后记得Close。或者程序开始就open,直到最后再关闭,中间不要再试图去open。我们可以设置一个响应按钮或者标签,用
mciSendCommand(wMIDIDeviceID,MCI_CLOSE,0,NULL); //关闭
来实现先关闭设备。