Code

// on "init" you need to initialize your instance

bool HelloWorld::init()

{

    
bool bRet = 
false;

    
do

    {

        
//////////////////////////////////////////////////////////////////////////
        
// super init first
        
//////////////////////////////////////////////////////////////////////////

CC_BREAK_IF(! CCLayer::init());

        
//MYCode
        CCSize size = CCDirector::sharedDirector()->getWinSize();

        setTouchEnabled(
true);

std::string items[] =

        {

            
"play background music",

            
"stop background music",

            
"pause background music",

            
"resume background music",

            
"rewind background music",

        };

        CCMenu *menu = CCMenu::create();

        
int count = 
sizeof(items) / 
sizeof(items[
]);

        
for(
int i = 
; i < count; i++)

        {

            CCLabelTTF *label = CCLabelTTF::create(items[i].c_str(), 
"Arial", 
);

            CCMenuItemLabel *pMenuItem = CCMenuItemLabel::create(label, 
this, menu_selector(HelloWorld::menuCallback));

            menu->addChild(pMenuItem, i + 
); 
//note
        }

        menu->setPosition(ccp(size.width / 
, size.height / 
));

        menu->alignItemsVertically();

        addChild(menu);

//preload background music
        CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE));

//set default volume
        CocosDenshion::SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(
.
);

bRet = 
true;

    }

    
while (
);

return bRet;

}


void HelloWorld::menuCallback(CCObject *pSender)

{

    CCMenuItem *pMenuItem = (CCMenuItem *)(pSender);

    
int index = pMenuItem->getZOrder() - 
;

    
switch(index)

    {

    
case 
:

        CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE)).c_str(), 
true);

        
break;

    
case 
:

        CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();

        
break;

    
case 
:

        CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();

        
break;

    
case 
:

        CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();

        
break;

    
case 
:

        CocosDenshion::SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();

        
break;

    }

}

注意SimpleAudioEngine前面需要加上CocosDenshion的前缀,否则会报错。

源文件下载

点击打开链接

cocos2d-x 背景音乐播放的更多相关文章

  1. Cocos2d-x中背景音乐播放暂停与继续

    背景音乐播放暂停与继续似乎我们很少使用,事实上也正是如此,背景音乐播放暂停与继续实例代码如下: SimpleAudioEngine::getInstance()->pauseBackground ...

  2. 31.JS实现控制HTML5背景音乐播放暂停

    实现控制网站背景音乐的播放暂停在html5中是非常容易和简单的,仅仅几行代码即可实现.首先在网页中嵌入背景音乐,html5代码为: <script src="http://wuover ...

  3. 【Cocos2d-x 3.x】 场景切换生命周期、背景音乐播放和场景切换原理与源码分析

    大部分游戏里有很多个场景,场景之间需要切换,有时候切换的时候会进行背景音乐的播放和停止,因此对这块内容进行了总结. 场景切换生命周期 场景切换用到的函数: bool Setting::init() { ...

  4. use SWF / Flash in cocos2d-x; cocos2d(cocos2d-x) 直接播放flash / SWF文件

    前段时间移植一个页游到手游,原先页游的项目里面有1000+的Flash人物,宠物动画,特效. 这要是全部重新做一遍,还不累死人?所以就想干脆直接在Cocos2d(x)里面播放SWF文件.(包括场景,过 ...

  5. JS实现控制HTML5背景音乐播放暂停

    首先在网页中嵌入背景音乐,html5代码为: <script src="http://wuover.qiniudn.com/jquery.js"></script ...

  6. android游戏开发系列(2)——背景音乐播放技术

    背景音乐通常播放时间较长,且文件体积也相对较大.这类资源如果放在内存中,一方面给硬件资源本身就很紧缺的手机造成了负担,另一方面通常也没有这方面的需求,放在内存中,在调用时播放速度较快,而长时音乐文件通 ...

  7. 兼容IE-FireFox-Chrome的背景音乐播放

    以music目录下的kn.mp3文件为例: <bgsound src="music/kn.mp3" loop="-1"/> <audio sr ...

  8. Cocos2d-x中停止播放背景音乐

    停止背景音乐播放代码放置到什么地方比较适合呢?例如:在HelloWorld场景中,主要代码如下: bool HelloWorld::init() { return true; } void Hello ...

  9. Cocos2d-x中播放背景音乐

    背景音乐的播放与停止实例代码如下: SimpleAudioEngine::getInstance()->playBackgroundMusic("sound/Jazz.mp3" ...

随机推荐

  1. winform 窗体大小变化时,如何设置使控件一起按照比例变大

    public Form() { InitializeComponent(); + ; float[] factor = new float[count]; ; factor[i++] = Size.W ...

  2. C#接收post数据

    private string PostInput() { try { System.IO.Stream s=Request.InputStream; ; ]; StringBuilder builde ...

  3. php 详解spl_autoload_register()函数

    在了解这个函数之前先来看另一个函数:__autoload. 一.__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数.看下面例子: printit.c ...

  4. Android自定义View基础

    自定义控件, 视频教程 http://www.jikexueyuan.com/course/1748.html 1. 编写自定义view 2. 加入逻辑线程 3. 提取和封装自定义view 4. 利用 ...

  5. WAMP学习日记之:Apache发布php网站

    1.修改httpd.conf 文件,以便让Apache和php模块建立关联 2.配置php.ini文件 修改httpd.conf 文件,以便让Apache和php模块建立关联 如何让apache和ph ...

  6. 兼容PHP和Java的des加密解密代码分享

    这篇文章主要介绍了兼容PHP和Java的des加密解密代码分享,适合如服务器是JAVA语言编写,客户端是PHP编写,并需要des加密解密的情况,需要的朋友可以参考下 作为一个iOS工程师来解决安卓的问 ...

  7. 最好用的手机编程软件-C4droid

    Q:c4droid是什么? A:c4droid(以下简称c4)是安卓平台上最强大的c/c++ 编译器,你可以在手机上用手机编写自己的C/C++程序,并且可以把程序导出成apk文件. 下载地址:http ...

  8. 20141127 测试使用Word2013书写博客(代码高亮+公式支持)。

      PS :又经过几次测试,发现用于Word2010的高亮插件在Word2013上排版效果不是很好,慎用.不过公式编辑倒是挺方便的 测试使用Word2013书写博客. 大概一个月前,使用WindowL ...

  9. House of hello恶搞凯莉迷你包

    欧洲站 House of hello恶搞凯莉迷你包 最近淘宝卖的很疯,看看价格,俺咂舌不已 :1300-1600 今年迷你包卖的很疯我是知道的,迷你包今年没有买一个也是不行的! 剔除暴利,便宜的亲们不 ...

  10. fix iis Running slow

    为什么写这个文章.因为我现在再找一个站点的访问原因..方法还是老方法.. 1. 站点是否真的挂了 a. 基本上全挂.所有请求非常缓慢或超时. b.大多数请求慢,但最终还是执行了.有可能 队列再排队 怎 ...