zoukankan      html  css  js  c++  java
  • Cocos2d-x3.3RC0 Cpp-test分析之NewAudioEngineDemo(转:http://blog.csdn.net/yuxikuo_1/article/details/41081453)

    #ifndef __NewAudioEngineDemo__NewAudioEngineDemo__
    #define __NewAudioEngineDemo__NewAudioEngineDemo__

    #include "cocos2d.h"
    #include "ui/CocosGUI.h"
    #include "VisibleRect.h"
    #include "audio/include/AudioEngine.h"

    USING_NS_CC;
    using namespace ui;

    class NewAudioEngineDemo : public Scene
    {
    public:
    CREATE_FUNC(NewAudioEngineDemo);
    virtual bool init();
    };

    class BaseTest : public Layer
    {
    public:
    CREATE_FUNC(BaseTest);
    virtual bool init();
    virtual std::string title() const;//主标题
    virtual std::string subtitle() const;//副标题
    virtual void onExit() override;

    virtual void restartCallback(Ref* sender);//重新执行当前test
    virtual void nextCallback(Ref* sender);//下一个test
    virtual void backCallback(Ref* sender);//上一个test

    void menuCloseCallback(cocos2d::Ref* pSender);//关闭菜单回调函数
    };

    class AudioControlTest : public BaseTest
    {
    public:
    CREATE_FUNC(AudioControlTest);
    virtual ~AudioControlTest();
    virtual bool init();
    virtual void update(float dt);
    virtual std::string subtitle() const override;
    private:
    int _audioID;
    bool _loopEnabled;
    float _volume;
    float _duration;
    float _timeRatio;

    void* _playItem;
    void* _timeSlider;
    bool _updateTimeSlider;

    };

    class PlaySimultaneouslyTest : public BaseTest
    {
    public:
    CREATE_FUNC(PlaySimultaneouslyTest);
    virtual ~PlaySimultaneouslyTest();
    virtual bool init();
    virtual std::string subtitle() const override;
    private:
    static const int TEST_COUNT = 10;
    std::string _files[TEST_COUNT];
    void* _playItem;
    int _playingcount;
    };

    class AudioProfileTest : public BaseTest
    {
    public:
    CREATE_FUNC(AudioProfileTest);
    virtual bool init();
    virtual ~AudioProfileTest();
    virtual std::string subtitle() const override;
    virtual void update(float dt);
    private:
    static const int FILE_COUNT = 2;
    std::string _files[FILE_COUNT];
    cocos2d::experimental::AudioProfile _audioProfile;
    int _audioCount;
    Label* _showLabel;
    float _time;
    float _minDelay;
    void* _timeSlider;
    };
    class InvalidAudioFileTest : public BaseTest
    {
    public:
    CREATE_FUNC(InvalidAudioFileTest);
    virtual bool init();
    virtual ~InvalidAudioFileTest();
    virtual std::string subtitle() const override;
    };
    class LargeAudioFileTest : public BaseTest
    {
    public:
    CREATE_FUNC(LargeAudioFileTest);
    virtual bool init();
    virtual ~LargeAudioFileTest();
    virtual std::string subtitle() const override;
    };
    #endif /* defined(__NewAudioEngineDemo__NewAudioEngineDemo__) */

  • 相关阅读:
    PHP-Resque 简介
    基于Redis的消息队列php-resque
    sms_queue 短信队列
    那些最好的轮子
    Sphinx高亮显示关键字
    atitit.系统托盘图标的设计java swing c# .net c++ js
    atitit.验证码识别step4--------图形二值化 灰度化
    atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本
    atitit.验证码识别step2------剪贴板ClipBoard copy image图像 attilax总结
    atitit.loading的设计与实现控件选型attilax 总结
  • 原文地址:https://www.cnblogs.com/hackerl/p/4759560.html
Copyright © 2011-2022 走看看