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__) */
Cocos2d-x3.3RC0 Cpp-test分析之NewAudioEngineDemo(转:http://blog.csdn.net/yuxikuo_1/article/details/41081453)的更多相关文章
- 各大型网站架构分析收集-原网址http://blog.csdn.net/lovingprince/article/details/3379710
1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html 采取 Windows 技术路线的 Web 2.0 站 ...
- RTP协议分析(转自:http://blog.csdn.net/bripengandre/article/details/2238818)
RTP协议分析 第1章. RTP概述 1.1. RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,对应的RFC文 ...
- crontab 问题分析 - CSDN博客 https://blog.csdn.net/tengdazhang770960436/article/details/50997297
cd /mnt/tools/trunk/plugins/personas; python update_keywords.py crontab 问题分析 crontab 问题分析 - CSDN博客 ...
- 软件测试之BUG分析定位概述(QA如何分析定位BUG)【转自 https://blog.csdn.net/kaka1121/article/details/51538979】
你是否遇到这样的场景? QA发现问题后找到DEV说: 不好了,你的程序出问题了! DEV(追查半小时之后): 唉,是你们测试环境配置的问题 唉,是你们数据不一致 唉,是你们**程序版本不对 唉,是** ...
- cocos2d智能指针 转自:http://blog.csdn.net/nxshow/article/details/44699409
智能指针在C++11的标准中已经存在了, 分别是unique_ptr,shared_ptr,weak_ptr, 其中最常用的应该是share_ptr, 它采用引用计数的方式管理内存, 当引用计数为0的 ...
- coreCLR系列随笔 之ClrJit项目之alloc.cpp文件分析(1)
首先声明,自己对CLR了解得不多,只是个人爱好,可能有错误,请指出,文件源码如下(可能不是最新的) // // Copyright (c) Microsoft. All rights reserved ...
- cpp check 分析
1 FileTabCharacterCheck 为什么检查: 因为对于一个TAB而言,所空的空格不定是固定的,如果在机器A上设置了是4个空格,显示正常,而在机器B上阅读,B机器是100个空格为一个TA ...
- Redis内存分析工具—redis-rdb-tools (转载http://www.voidcn.com/article/p-axfdqxmd-bro.html)
redis-rdb-tools是由Python写的用来分析Redis的rdb快照文件用的工具,它可以把rdb快照文件生成json文件或者生成报表用来分析Redis的使用详情.使用标准的diff工具比较 ...
- MYSQL主从不同步延迟原理分析及解决方案(摘自http://www.jb51.net/article/41545.htm)
1. MySQL数据库主从同步延迟原理.要说延时原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作,主 库对所有DDL和DML产生binlog,binlog是顺序写,所 ...
随机推荐
- libuv(不断更新)
/* * Initialize the uv_async_t handle. A NULL callback is allowed. * * Note that uv_async_init(), un ...
- Ubuntu——"xxx is not in the sudoers file.This incident will be reported" 错误解决方法
Ubuntu下普通用户用sudo执行命令时报如题所示错误,解决方法就是在/etc/sudoers文件里给该用户添加权限.如下: 1.切换到root用户下 2./etc/sudoers文件默认是只读的, ...
- C#中操作XML文件
1.添加结点:XmlNode xmldoc.Load("..\\..\\App.config"); //根元素 XmlElement root = xmldoc.DocumentE ...
- Specified key was too long; max key length is 767 bytes mysql
Specified key was too long; max key length is 767 bytes 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该 ...
- Lua之元表
Lua之metatable 一.元表 Lua中的每个值都有一套预定义的操作集合,也可以通过metatable(元表)来定义一个值的行为,metatable包含了一组meatmethod(元方法). L ...
- OC-成员变量的作用域
#import <Foundation/Foundation.h> @interface Person : NSObject { int _no; @public // 在任何地方都能直接 ...
- 跨区域的application共享问题。
@1 new Thread(){ @Override public void run() { getConnect(); } }.start(); 如果我们的一个的应用程序有俩个入口.那么如果我们在这 ...
- [c#]RabbitMQ的简单使用
摘要 Message Queue消息队列,简称MQ,是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通 ...
- php从零开始
吐槽:今天开始撸PHP了,从此前端少了个小白,PHP多了个小白... 本白从3年前陆陆续续开始一会儿撸会儿PHP一会儿撸前端.前端撸的比较多,PHP撸的比较少,当然本白撸php大多都是被逼的!! 然后 ...
- 调用WebService 实现在线双向翻译
>先了解一下Web Service的基本概念: Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传 ...