关于Cocos2d-x中背景音乐和音效的添加
1.首先引入头文件和命名空间
#include "SimpleAudioEngine.h"
using namespace CocosDenshion;
2.在GameScene.cpp的init方法中加载背景音乐和音效到一个SimpleAudioEngine::getInstance();的对象中
//加载音乐,播放背景音乐
auto audioengine = SimpleAudioEngine::getInstance();
audioengine->preloadBackgroundMusic("sound/bgmusic.mp3");
audioengine->preloadEffect("sound/shoot.wav");
audioengine->preloadEffect("sound/hero_down.mp3");
audioengine->preloadEffect("sound/enemy3_down.wav");
audioengine->preloadEffect("sound/enemy1_down.wav");
audioengine->preloadEffect("sound/enemy2_down.wav");
audioengine->preloadEffect("sound/big_spaceship_flying.mp3");
3.播放背景音乐(GameScene.cpp的init方法中)
audioengine->playBackgroundMusic("sound/bgmusic.mp3", true);
4.播放特定音效(满足某个条件的时候,比如飞机爆炸就在满足飞机爆炸的条件下写播放爆炸的音效的语句)
SimpleAudioEngine::getInstance()->playEffect("sound/enemy1_down.wav");
用到的函数
1.virtual void preloadBackgroundMusic(const char * filePath)
预加载背景音乐。
参数
filePath 背景音乐的文件路径。
2.virtual void playBackgroundMusic ( const char * filePath,bool loop = false )
播放背景音乐。
参数
filePath 背景音乐的文件路径或T_SoundResInfo中的FileName字段。
loop 背景音乐是否循环播放。
3.virtual void stopBackgroundMusic ( bool releaseData = false )
停止播放背景音乐。
参数
releaseData 是否释放背景音乐的数据,默认值为false。
4.virtual void pauseBackgroundMusic ( )
暂停播放背景音乐。
5.virtual void resumeBackgroundMusic ( )
恢复播放背景音乐。
6.virtual void rewindBackgroundMusic ( )
将背景音乐倒回起始点播放。
7.virtual void preloadEffect(const char * filePath)
预加载音效文件。
参数
filePath 音效文件路径。
8.virtual unsigned int playEffect ( const char * filePath,bool loop = false,float pitch = 1.0f,float pan = 0.0f,float gain = 1.0f )
播放音效
参数
filePath 音效文件的路径。
loop 是否循环播放,默认为false,不循环。
pitch 频率,正常情况下为1.0,在播放时也可以改变该值。
pan 声道,范围为-1到1,为-1时表示只有左声道,为1时表示只有右声道。
gain 音量增益, 范围为0到1,默认值为1。
返回
声音id。
注解
现在还不能完全支持所有参数,限制的功能如下:
在Samsung Galaxy S2上如果启用了OpenSL那么pitch参数无效;
在emscrippten, win32, marmalade上pitch/pan/gain参数无效
9.virtual void stopEffect ( unsigned int soundId )
停止播放指定的音效。
参数
soundId playEffect返回的资源id。
10.virtual void pauseEffect ( unsigned int soundId )
暂停播放指定音效。
参数
soundId 音效id。
11.virtual void resumeEffect ( unsigned int soundId )
恢复暂停播放指定的音效。
参数
soundId playEffect返回的资源id。
12.virtual void unloadEffect ( const char * filePath )
卸载预加载到内存中的音效文件。
参数
filePath 音效文件的路径。
关于Cocos2d-x中背景音乐和音效的添加的更多相关文章
- 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 ...
- Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)
游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 ...
- 005-unity3d 添加背景音乐、音效 以及 天空盒子
一.基础知识 1.项目中需要有AudioListener,播放器中播放的声音就是AudioListener组件坐在的位置听到的声音.默认AudioListener是放到Main Camera上.没有A ...
- 如何在cocos2d项目中enable ARC
如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...
- 如何在Cocos2D游戏中实现A*寻路算法(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 如何在Cocos2D游戏中实现A*寻路算法(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 数据库中老师学生家长表添加自动同意好友自动(AgreeAddingFriend ),默认为True
数据库中老师学生家长表添加自动同意好友自动(AgreeAddingFriend ),默认为True alter table Sys_User add AgreeAddingFriend bit alt ...
随机推荐
- SYS_R12 MOAC多组织的四个应用(案例)
2014-05-31 Created By BaoXinjian
- OkHttp拦截器的实现原理
今天项目中遇到需要将从push接收到的数据按照协议parse成应用层需要的结构化数据类型问题:因为push消息类型繁多,等待解析出的结构化数据类型也多样,有的还需要经过几步的parse过程:而且因为项 ...
- HDU 5402(Travelling Salesman Problem-构造矩阵对角最长不相交路径)
Travelling Salesman Problem Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (J ...
- Python rfind()方法
描述 Python rfind() 返回子字符串最后一次出现在字符串中的索引位置,该方法与rindex() 方法一样,只不过如果子字符串不在字符串中不会报异常,而是返回-1. 语法 rfind() 方 ...
- 支持向量机(SVM):应用实例
SVM 应用实例(人脸识别): from __future__ import print_function from time import time import logging import m ...
- 强制删除一个Windows服务
一个挂起的服务如下图所示,该服务相关的所有按钮都被禁用,包括启动.停止.暂停和恢复. 要停止这个服务,首先记住这个服务的名称,在这里是 ‘EntropySoftCFS’. 然后打开命令行窗口,运行 s ...
- SpringCloud分布式开发五大神兽
SpringCloud分布式开发五大神兽 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix ...
- php excel类 phpExcel使用方法介绍
phpExcel操作excel可以方便的加入图片,支持jpg gif png格式. 下载地址:http://www.codeplex.com/PHPExcel 下面是总结的几个使用方法 include ...
- 【Android】第18章 位置服务和手机定位—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了G ...
- Go源代码分析——http.ListenAndServe()是怎样工作的
Go对webserver的编写提供了很好的支持,标准库中提供了net/http包来方便编写server.很多教程和书籍在讲到用Go编写webserver时都会直接教新手用http包写一个最简单的hel ...