由于simpleAudioEngine在播放音效时无法获取状态也无法在播放完成后回调,造成音效在按键频繁时发声重叠。改mac版本的库对目前的我来说挑战难度太大。
于是百度了半天,发现3.6版本的cocos2dx有了新的声音播放库AudioEngine。于是体验下,感觉还不错:
直接贴代码:
头文件:
#ifndef __macstudycocos2dx__newAudioEngineTest__
#define __macstudycocos2dx__newAudioEngineTest__
#include <stdio.h>
#include "cocos2d.h"
#include "audio/include/AudioEngine.h"
USING_NS_CC;
using namespace experimental;
class newAudioEngineTest:publicLayer ,publicAudioEngine{
public:
staticcocos2d::Scene* createScene();
virtualbool init();
// a selector callback
void playCallback(cocos2d::Ref* pSender);// 点击按钮后开始播放的回调函数
CREATE_FUNC(newAudioEngineTest);
bool isplaying=false;//标记播放状态
void changer_playingstatus();//播放完成后的回调函数,用来更改播放状态
};
newAudioEngineTest.cpp如下: