Cocos2d-x 3.17版本音量大小设置问题

各位大佬好,本人初学cocos2d-x。想要更改音量大小,但是由于引擎源码中没有实现这四个函数,我也上网搜了不少答案,几乎都一模一样,但是照着上面的修改,编译通过但还是不能更改大小,请各位大佬帮忙看看,谢谢。

//修改了的部分
//MciPlayer.h

#include<Digitalv.h>
void SetVolume(UINT volume);

UINT GetVolume() const;

//MciPlayer.cpp

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.cpp

float SimpleAudioEngine::getBackgroundMusicVolume()
{
return sharedMusic().GetVolume()/1000.0f;
}

void SimpleAudioEngine::setBackgroundMusicVolume(float volume)
{
sharedMusic().SetVolume((UINT)(volume * 1000.0));
}

float SimpleAudioEngine::getEffectsVolume()
{
return sharedList().begin()->second->GetVolume() / 1000.0f;
}

void SimpleAudioEngine::setEffectsVolume(float volume)
{
EffectList::iterator iter;
for (iter = sharedList().begin(); iter != sharedList().end(); iter++)
{
iter->second->SetVolume((UINT)(volume * 1000.0));
}
}

以上就是我修改的全部内容了。