cocos2d-x 添加背景音乐和音效-SimpleAudioEngine
首先,要想使用音效,需要启用音效引擎库CocosDenshion中的SimpleAudioEngine类,
#include "SimpleAudioEngine.h"
CocosDenshion引擎库实际上是对系统音频API的封装,因此它支持的音频文件格式与平台有关。具体不同平台的格式支持请查阅资料,通常我们就用各个平台都支持的格式,音乐:mp3;音效:wav。
具体的使用做一个简单的介绍,比较简单:
音乐:同一时间,只能有一个背景音乐在播放。
void preloadBackgroundMusic( 音乐文件); //加载音乐
void playBackgroundMusic( 音乐文件, bool); //播放音乐, true代表循环播放, false代表不循环
void pauseBackgroundMusic(); //暂停
void resumeBackgroundMusic(); //继续
void stopBackgroundMusic(); //停止
void rewindBackgroundMusic(); //从头播放
bool isBackgroundMusicPlaying(); //是否正在播放
void setBackgroundMusicVolume(); //设置音量
float getBackgroundMusicVolume(); //获取音量
声音:与音乐不同的是,同一时间可以有多个音效在播放,引擎在播放音效的时候会返回该次播放音效的ID,方便之后的控制。
void preloadEffect( 音效文件 )
void unloadEffect( 音效文件 )
int playEffect( 音效文件, 是否重复 ) //返回一个音效id作为标识
void stopEffect( 音效ID )
void stopAllEffects()
void pauseEffect( 音效ID )
void pauseAllEffects()
void resumeEffect( 音效ID )
void resumeAllEffects()
float getEffectsVolume()
void setEffectsVolume()
这里呢,在播放音效的时候需要指定是否循环播放,默认是不循环。音效还有一点,就是没有“是否正在播放”的判断,如果需要判断的话,需要该引擎底层,自己仿照音乐播放判断的方式写一个。
SimpleAudioEngine是个单例类,使用方式:SimpleAudioEngine::sharedEngine()->playEffect( 音效文件 );
注意:
播放背景音乐前,一定要提前加载背景音乐文件,音效不需要。
在退出后且不再需要音乐时,要调用end()方法来释放引擎占用的资源。
cocos2d-x 添加背景音乐和音效-SimpleAudioEngine的更多相关文章
- 005-unity3d 添加背景音乐、音效 以及 天空盒子
一.基础知识 1.项目中需要有AudioListener,播放器中播放的声音就是AudioListener组件坐在的位置听到的声音.默认AudioListener是放到Main Camera上.没有A ...
- Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)
游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 ...
- 关于Cocos2d-x中背景音乐和音效的添加
1.首先引入头文件和命名空间 #include "SimpleAudioEngine.h" using namespace CocosDenshion; 2.在GameScene. ...
- Cocos2d-x使用UserDefault数据持久化实例:保存背景音乐和音效设置
UserDefault可以实现数据的存储,但是它的使用不能泛滥,具体讲一般情况下不会使用它保存大量的数据,它没有SQL语句那样的灵活.UserDefault除了保存游戏设置外,还有可以长期保持游戏精灵 ...
- Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现
为了进一步了解背景音乐和音效播放的,我们通过一个实例给大家介绍一下.如下图所示有两个场景:HelloWorld和Setting.在HelloWorld场景点击“游戏设置”菜单可以切换到Setting场 ...
- android开发之背景音乐与音效
android开发之背景音乐与音效 一:添加背景音乐(MediaPlayer) MediaPlayer class can be used to control playback of audio/v ...
- cocos2dx基础篇(17) 音乐音效SimpleAudioEngine
[3.x] (1)获取单例:sharedEngine() 改为 getInstance() (2)实现了:音量的调节. (3)修改了播放音效 playEffect() 的参数: ...
- h5页面添加背景音乐
[需求]h5页面添加背景音乐,支持微信.QQ.各种APP. [实现思路]1.通过audio标签,设置自动播放,是一种方法,但是此方法只适合微信.QQ,并不兼容我司的APP,需要主动触发下播放事件. 2 ...
- Java代码添加背景音乐
太心塞!弄了很久才终于把Java添加背景音乐实现了.不过还是很Happy! 这次介绍的办法,是只要一打开Java Application,便可直接听到背景音乐.代码保存,方便以后再次利用. packa ...
随机推荐
- lintcode 中等题:Max Points on a Line 最多有多少个点在一条直线上
题目 最多有多少个点在一条直线上 给出二维平面上的n个点,求最多有多少点在同一条直线上. 样例 给出4个点:(1, 2), (3, 6), (0, 0), (1, 3). 一条直线上的点最多有3个. ...
- spring @bean注解
1.@bean注解用于注册一个bean到 到ioc容器中.类似于@component注解 2.@configure注解,相当于指明这个类是配置文件 3.@bean还可以指定initMethod,des ...
- Hibernate逍遥游记-第3章对象-关系映射基础-access="field"、dynamic-insert、dynamic-update、formula、update=false
1. package mypack; import java.util.*; public class Monkey{ private Long id; private String firstnam ...
- C++:基类和派生类
4.1 派生类的声明 继承实例如下: class Person{ //声明基类Person public: void print() { cout<<"name:"&l ...
- 1401 - Remember the Word
注意到单词的长度最长100,其实最糟糕复杂度应该能到O(300005*100),需要注意的是在字典树上匹配单词时,一旦不匹配,则后面的就不会匹配,需要break出来(这个害我TLE查了半天,日!),还 ...
- Nodejs实现web静态服务器对多媒体文件的支持
前几天,一个同事说他写的web静态服务器不支持音视频的播放,现简单实现一下. 原理:实现http1.1协议的range部分. 其实这一点都不神秘,我们常用的下载工具,如迅雷,下载很快,还支持断点续传, ...
- C#获取一个文件的扩展名
C#获取一个文件的扩展名System.IO.Path.GetExtension( "文件名 ");ChangeExtension 更改路径字符串的扩展名. Combine ...
- Ubuntu中Eclipse安装与配置
安装Eclipse: 第一种是通过Ubuntu自带的程序安装功能安装Eclipse,应用程序 ->Ubtuntu软件中心,搜Eclipse安装即可.第二种方法是用命令:应用程序->附件-& ...
- unique() 去重函数
unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个), 还有一个容易忽视的特性是它并不真正把重复的元素删除.他是c++中的函数, 所以头 ...
- poj 2029 Get Many Persimmon Trees (dp)
题目链接 又是一道完全自己想出来的dp题. 题意:一个w*h的图中,有n个点,给一个s*t的圈,求这个圈能 圈的最多的点 分析:d[i][j]代表i行j列 到第一行第一列的这个方框内有多少个点, 然后 ...