1.背景音乐

要使用一个音乐,首先要预加载这个音乐,预加载的方法如下

SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::fullPathFromRelativePath(MUSIC_FILE) );

MUSIC_FILE就是音乐文件相对Res文件夹的相对路径

然后就可以播放了,播放的方法如下

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

第一个参数中的MUSIC_FILE就是音乐文件相对Res文件夹的相对路径,然后再转换为绝对路径,第二个参数就是是否循环播放,由于是背景音乐,我们定为true

其他函数

SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();//停止背景音乐,可以代一个布尔型参数,表示是否释放音乐文件

SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();//暂停背景音乐

SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();//重头调用背景音乐

SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()//返回布尔型参数,是否在放着背景音乐

SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);//设置音量0.0-1.0

2.音效

使用音效,和使用音乐类似,也需要预加载,用法如下

SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::fullPathFromRelativePath(EFFECT_FILE) );

EFFECT_FILE就是音乐的相对Res文件夹的相对路径

然后播放就可以了

m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());

m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str(), true);

和背景音乐一样,第二个参数是可选的,如果是true就是循环播放,否则就是只播一次

其他函数

SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId);//停止音效,可以选择单独停掉一个音效,通过创建时的m_nSoundId停止

SimpleAudioEngine::sharedEngine()->stopAllEffects();//停止全部音效

SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);//暂停单个音效

SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);//重新开始音效

SimpleAudioEngine::sharedEngine()->pauseAllEffects();//暂停全部音效

SimpleAudioEngine::sharedEngine()->resumeAllEffects();//重新开始全部音效

SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5);//设置音效音量

SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());//卸载音效

最后要记住,在程序不需要音乐时,要SimpleAudioEngine::sharedEngine()->end();释放sharedEngine()

刚开始研究此引擎,如有错误之处,希望大家多多指正

cocos2d-x 音乐与音效的更多相关文章

  1. 22、Cocos2dx 3.0游戏开发找小三之音乐与音效:假如世界上没有了音乐,你的耳朵会孤单吗?

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30485103 假如世界上没有了音乐,在森林里.我们听 ...

  2. cocos2dx音乐与音效

    // 预加载音乐和音效 SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(CCFileUtils::sharedFileUtil ...

  3. pygame-KidsCanCode系列jumpy-part14-背景音乐及音效

    没有音乐和音效的游戏是没有灵魂的,这回讲解如何处理背景音乐及跳跃音效.加载music及sound的方法,之前已经写过,见:pygame 笔记-8 背景音乐&子弹音效 . 先介绍一个很棒的生成各 ...

  4. C++播放wav音乐和音效

    1.  #include <mmsystem.h>#pragma comment(lib,"winmm.lib")PlaySound(TEXT("c:\\te ...

  5. [libgdx游戏开发教程]使用Libgdx进行游戏开发(10)-音乐和音效

    本章音效文件都来自于公共许可: http://files.cnblogs.com/mignet/sounds.zip 在游戏中,播放背景音乐和音效是基本的功能. Libgdx提供了跨平台的声音播放功能 ...

  6. 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)

    在一款游戏中,除了华丽的界面 UI 直接吸引玩家外,另外重要的就是游戏的背景音乐与音效:合适的背景音乐以及精彩的音效搭配会令整个游戏上升一个档次. 在 Android 中.常用于播放游戏背景音乐的类是 ...

  7. IOS播放音乐和音效

    1.播放音效 1.1 首先获取到音效文件路径 NSString *path = [[NSBundle mainBundle] pathForResource:soundFileName ofType: ...

  8. cocos2d安卓android长音效播放不完全

    是因为安卓限制了音效的内存,一般把mp3的比特率压缩一下.就可以搞定了.

  9. cocos2d-x 音乐/音效设置

    cocos2d-x 游戏中声音 有两种 一种是背景音乐一种是音效 载入音乐 或者音效的时候 我们须要先缓存声音 #include "SimpleAudioEngine.h" usi ...

随机推荐

  1. UVALive 6907 Body Building

    题目链接:https://vjudge.net/problem/UVALive-6907 题意: 给出一张图,判断这张图中有多少个哑铃,哑铃判断的条件是,对于一个连通图:如果找到一条边连接这两个点的个 ...

  2. jni java C/C++ 相互调用

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha java 中  声明 一个 native 方法 用javah命令 生成 包含 nativ ...

  3. java 接口 继承 接口 抽象类 继承 实体类

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 接口 可以 继承 接口 抽象类 可以 实现 接口 抽象类 继承实体类 需要 实体类 有 ...

  4. [BZOJ4892][TJOI2017]DNA(后缀数组)

    题目描述 加里敦大学的生物研究所,发现了决定人喜不喜欢吃藕的基因序列S,有这个序列的碱基序列就会表现出喜欢吃藕的性状,但是研究人员发现对碱基序列S,任意修改其中不超过3个碱基,依然能够表现出吃藕的性状 ...

  5. JDK源码(1.7) -- java.util.Arrays

    java.util.Arrays 源码分析 ------------------------------------------------------------------------------ ...

  6. 使用openssl生成双向加密证书(转)

    要生成证书的目录下建立几个文件和文件夹,有./demoCA/./demoCA/newcerts/./demoCA/private/./demoCA/index.txt (空文件,生成证书时会将数据记录 ...

  7. mybatis源码分析(8)-----事务(mybatis管理、spring管理)

    写在前面 接口:MyBatis的事务Transaction的接口有一下实现类 JdbcTransaction 由jdbc管理的事务(即利用Connection对象完成对事务的提交(commit()). ...

  8. C#如何用OpenFileDialog控件打开图片显示到PictureBox这个控件

    openFileDialog1.Filter = "图片文件|*.jpg|BMP图片|*.bmp|Gif图片|*.gif"; OpenFileDialog ofd = new Op ...

  9. CSDN 四川大学线下编程比赛第一题:数字填充

    题目意思: http://student.csdn.net/mcs/programming_challenges peter喜欢玩数字游戏,但数独这种游戏对他来说太简单了,于是他准备玩一个难的游戏. ...

  10. 初探Delphi中的插件编程

    前言 我写Delphi程序是从MIS系统入门的,开始尝试子系统划分的时候采用的是MDI窗体的结构.随着系统功能的扩充,不断有新的子系统加入系统中,单个工程会变得非常大,每次做一点修改都要重新编译,单个 ...