【转载】cocos2dx 3.x 声音播放、音量调节
2016-07-19 13:22
537 查看
1. playBackgroudMusic()
playBackgroudMusic 只适合播放持续时间比较长的声音文件,比如背景音乐。[html] view plain copy
print?
bool PlayMusic::init()
{
if ( !Layer::init() )
{
return false;
}
bool bRet = false;
do{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sky_city.mp3",true);
bRet = true;
}while(0);
return bRet;
}
2. playEffect()
playEffect 适合播放战斗的打斗声音、技能释放的声音。[html] view plain copy
print?
bool PlayMusic::init()
{
if ( !Layer::init() )
{
return false;
}
bool bRet = false;
do{
//CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sky_city.mp3",true);
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("error.wav");
bRet = true;
}while(0);
return bRet;
}
3. 圆形音量按钮 ControlPotentiometer
一个圆形音量按钮由底座、进度条、控制按钮三部分组成。创建好音量按钮之后,它具备调节音量的功能,只有鼠标放在控制按钮上拖到一次,进度条就会改变显示范围,当然如果想控制音量,还需要加入监听事件。[html] view plain copy
print?
bool PlayMusic::init()
{
if ( !Layer::init() )
{
return false;
}
ControlPotentiometer* potentiometer = ControlPotentiometer::create("potentiometerTrack.png","potentiometerProgress.png","potentiometerButton.png");
potentiometer->setPosition(Point(200,200));
//监听进度值改变事件
potentiometer->addTargetWithActionForControlEvents(this,cccontrol_selector(PlayMusic::onValueChange),Control::EventType::VALUE_CHANGED);
this->addChild(potentiometer);
return true;
}
void PlayMusic::onValueChange(Ref* psender,Control::EventType event)
{
ControlPotentiometer* potentiometer = (ControlPotentiometer*)psender;
String* valueStr = String::createWithFormat("%f",potentiometer->getValue());
log(valueStr->getCString());
}
4. 音量控制按钮
ControlSlider 也是有底部、进度条、控制按钮三部分组成。用法和ControlPotentiometer几乎一样。[html] view plain copy
print?
ControlSlider* slider = ControlSlider::create("background.png","progress.png","sliderThumb.png");
slider->setPosition(ccp(300,200));
//设置滑动条的范围
slider->setMinimumValue(0);
slider->setMaximumValue(1000);
//设置滑动条当前值
slider->setValue(300);
slider->addTargetWithActionForControlEvents(this,cccontrol_selector(PlayMusic::sliderChange),Control::EventType::VALUE_CHANGED);
this->addChild(slider);
[html] view plain copy
print?
void PlayMusic::sliderChange(Ref* psender,Control::EventType event)
{
ControlSlider* slider = (ControlSlider*)psender;
String* valueStr = String::createWithFormat("%f",slider->getValue());
log(valueStr->getCString());
}
相关文章推荐
- cocospod遇到的问题
- Expression: pSpriteFrame != 0
- 【步兵 cocos2dx】texturePacker命令行
- quick cocos2d-x 3.5打包安卓apk(编译cocos2d-x的os+打apk)
- Cocos2d-x3.0模版容器详解:cocos2d::Vector<T>
- 总结半年的游戏开发经验
- cocos creator配置表的添加
- cocosSteator整理
- cocosCreator注意点(暂时)
- cocos creator RPG游戏的背景和节点添加
- cocos creator 节点和组件的访问
- cocos creator的事件处理.
- cocos Creat 添加场景
- cocosapods pod install 报错
- <转>Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- cocos2dx 解决texture packer导出的图片程序中拼接有黑边的问题
- Cocos 2.2.1 + cocos2d-x 3.5 集成protobuf
- CocoStudio制作多分辨率UI布局
- cocos2d-x 屏幕适配新解
- CocosCreator