在Cocos2d-x 3.10中,win7下,设置音乐的声音的高低,音效的声音高低,都会出现问题。但是在ios,android环境下是没有问题的,在win7下开发的话,自己要修改一下源文件。
这里就记录一下这样的问题,以备后用。
修改内容。
第一步:在MciPlayer.h头文件中添加
#include <Digital.h>
在
Class MciPlayer{
//设置音量
void SetVolume(UINT volume);
//取得音量
UINT GetVolume()const;
}
/*实现这2个函数*/
//设置音效
void MciPlayer::SetVolume(UINT volume)
{
if (!_dev) return;
MCI_DGV_SETAUDIO_PARMS mciParams = { 0 };
mciParams.dwItem = MCI_DGV_SETAUDIO_VOLUME;
mciParams.dwValue = volume;
mciSendCommand(_dev, MCI_SETAUDIO, MCI_DGV_SETAUDIO_ITEM | MCI_DGV_SETAUDIO_VALUE, (DWORD)&mciParams);
}
//获得音效
UINT MciPlayer::GetVolume() const
{
if (!_dev) return 0;
MCI_STATUS_PARMS mciParams = { 0 };
mciParams.dwItem = MCI_DGV_STATUS_VOLUME;
mciSendCommand(_dev, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)&mciParams);
return mciParams.dwReturn;
}
第二步:修改SimpleAudioEngine中的函数
然后执行"本地运行",会编译一会儿,然后就可以了,但是还是不行,因为只有音乐的声音高低可以控制,但是音效的声音的高低还是无法控制,我打包后再看效果。