cocos2dx windows 音量设置无效解决办法
2017-11-27 10:48
363 查看
1、
MciPlayer.h 中添加
#include <Digitalv.h>
类MciPlayer中添加两个函数
public:
void Volume(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::Volume() 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;
}
2、SimpleAudioEngine.cpp文件修改以下函数为:
float SimpleAudioEngine::getBackgroundMusicVolume()
{
return sharedMusic().Volume() / 1000.0f;
}
void SimpleAudioEngine::setBackgroundMusicVolume(float volume)
{
sharedMusic().Volume((UINT)(volume * 1000.0));
}
float SimpleAudioEngine::getEffectsVolume()
{
return sharedList().begin()->second->Volume() / 1000.0f;
}
void SimpleAudioEngine::setEffectsVolume(float volume)
{
EffectList::iterator iter;
for (iter = sharedList().begin(); iter != sharedList().end(); iter++)
{
iter->second->Volume((UINT)(volume * 1000.0));
}
}
MciPlayer.h 中添加
#include <Digitalv.h>
类MciPlayer中添加两个函数
public:
void Volume(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::Volume() 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;
}
2、SimpleAudioEngine.cpp文件修改以下函数为:
float SimpleAudioEngine::getBackgroundMusicVolume()
{
return sharedMusic().Volume() / 1000.0f;
}
void SimpleAudioEngine::setBackgroundMusicVolume(float volume)
{
sharedMusic().Volume((UINT)(volume * 1000.0));
}
float SimpleAudioEngine::getEffectsVolume()
{
return sharedList().begin()->second->Volume() / 1000.0f;
}
void SimpleAudioEngine::setEffectsVolume(float volume)
{
EffectList::iterator iter;
for (iter = sharedList().begin(); iter != sharedList().end(); iter++)
{
iter->second->Volume((UINT)(volume * 1000.0));
}
}
相关文章推荐
- cocos2dx 3.2 windows 音量设置无效解决办法
- Windows环境变量设置无效解决办法——DOS窗口设置环境变量
- Java动态设置ImageView的setPadding无效,解决办法
- windows下composer安装不了或composer命令无效的解决办法
- Android使用TextView,设置onClick属性无效解决办法
- android:windowsoftinputmode=“adjustresize” 无效的解决办法
- 关于Qt使用QPalette设置Qwidget背景色无效的解决办法及分析
- 表格单元格td设置宽度无效的解决办法
- Windows系统设置环境变量后无需重启系统即可让变量生效的解决办法
- Glide设置圆角图片后设置ImageVIew的scanType="centerCrop"无效解决办法
- 为table-row设置border无效解决办法
- 在activity中使用多个fragment时设置第一个fragment的沉浸栏有效,其他无效解决办法
- Idea内存设置idea.vmoptions无效的解决办法
- Windows 7 下IIS 使用AjaxPro无法访问到页面类文件的解决办法(页面类注册无效)
- 关于设置android:imeOptions属性无效的解决办法
- IE中设置height无效的解决办法
- FF中span设置大小无效,只根据内容变化大小解决办法
- android:windowsoftinputmode=“adjustresize” 无效的解决办法
- Eclipse设置断点无效的解决办法
- 关于Qt使用QPalette设置Qwidget背景色无效的解决办法及分析