加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx 3.x 声音播放、音量调节

发布时间:2020-12-14 16:57:07 所属栏目:百科 来源:网络整理
导读:1. playBackgroudMusic() playBackgroudMusic 只适合播放持续时间比较长的声音文件,比如背景音乐。 [html] view plain copy print ? boolPlayMusic::init() { if(!Layer::init()) returnfalse; } bool bRet = false ; do{ CocosDenshion::SimpleAudioEngine

1. playBackgroudMusic()

playBackgroudMusic 只适合播放持续时间比较长的声音文件,比如背景音乐。
[html] view plain copy
print ?
  1. boolPlayMusic::init()
  2. {
  3. if(!Layer::init())
  4. returnfalse;
  5. }
  6. boolbRet=false;
  7. do{
  8. CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("sky_city.mp3",true);
  9. bRet=true;
  10. }while(0);
  11. returnbRet;
  12. }

2. playEffect()

playEffect 适合播放战斗的打斗声音、技能释放的声音。
copy
//CocosDenshion::SimpleAudioEngine::sharedEngine()- CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("error.wav");
  • bRet=true;
  • }while(0);
  • returnbRet;
  • }

  • 3. 圆形音量按钮ControlPotentiometer

    一个圆形音量按钮由底座、进度条、控制按钮三部分组成。创建好音量按钮之后,它具备调节音量的功能,只有鼠标放在控制按钮上拖到一次,进度条就会改变显示范围,当然如果想控制音量,还需要加入监听事件。

    copy
    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);
  • returntrue;
  • }
  • voidPlayMusic::onValueChange(Ref*psender,Control::EventTypeevent)
  • {
  • ControlPotentiometer*potentiometer=(ControlPotentiometer*)psender;
  • String*valueStr=String::createWithFormat("%f",potentiometer->getValue());
  • log(valueStr->getCString());
  • }

  • 4. 音量控制按钮

    ControlSlider 也是有底部、进度条、控制按钮三部分组成。用法和ControlPotentiometer几乎一样。
    copy
    ControlSlider*slider=ControlSlider::create("background.png","progress.png","sliderThumb.png");
  • slider->setPosition(ccp(300,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> //设置滑动条的范围
  • >setMinimumValue(0);
  • slider->setMaximumValue(1000);
  • //设置滑动条当前值
  • >setValue(300);
  • >addChild(slider);
  • copy
    voidPlayMusic::sliderChange(Ref*psender,Control::EventTypeevent)
  • ControlSlider*slider=(ControlSlider*)psender;
  • String*valueStr=String::createWithFormat("%f",slider->getValue());
  • log(valueStr->getCString());
  • }
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读