Cocos2d-x 3.10中 win7下音效引擎的修改问题?
2016-06-30 12:03
453 查看
在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;
}
![](https://img-blog.csdn.net/20160630115951452?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第二步:修改SimpleAudioEngine中的函数
![](https://img-blog.csdn.net/20160630120143501?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160630120150166?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后执行"本地运行",会编译一会儿,然后就可以了,但是还是不行,因为只有音乐的声音高低可以控制,但是音效的声音的高低还是无法控制,我打包后再看效果。
这里就记录一下这样的问题,以备后用。
修改内容。
第一步:在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中的函数
然后执行"本地运行",会编译一会儿,然后就可以了,但是还是不行,因为只有音乐的声音高低可以控制,但是音效的声音的高低还是无法控制,我打包后再看效果。
相关文章推荐
- cocos-js,内存管理1---引用计数方式
- 关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- cocos2dx 2.x新建项目
- Cocosd2d 45度地图遮挡问题
- Cocos2dx中常用回调函数解析
- cocos2d详细 类之CCControlSlider
- cocos2d 详细类之EditBox 做文档查看
- cocos2d 导入extensions
- cocos2d-x 的lua继承
- Cocos2d 动作使用
- cocos2dx-深度解析plist文件(二)(CCSpriteFrameCache怎么从解析出的数据创建精灵帧的)
- JavaScript强化教程——cocosjs屏幕适配方案
- JavaScript强化教程——cocosjs屏幕适配方案
- cocos2d SocketIo列子
- cocos2d WebSocket简单例子
- Cocos2d-x 3.11.1 Android Windows 10 加载csd
- cocos2d-x lua mvc模式
- Cocosd2d 使用box2d完成碰撞检测
- Cocosd2d 实现图像描边shader
- Cocosd2d 实现灰度shader