cocos2d-x 音乐/音效设置

简介:

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

#include "SimpleAudioEngine.h"
using namespace CocosDenshion;
#define EFFECT_FILE       "effect1.wav"  //音效
#define MUSIC_FILE       "background.mp3"  //音乐

//这两个宏代表了 音乐和音效的名称或者文件夹

SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE) );//缓存音乐

SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) );//缓存音效

//set default volume
SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5);//设置音效声音

SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);//设置音乐声音


 

音乐部分

1.播放背景音乐

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



2.也能够推断眼下有没有背景音乐

if (SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying())

      {

       CCLOG("背景音乐正在播放");

      }

      else

      {

       CCLOG("没有背景音乐播放");

      }

 

3.停止背景音乐

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

 

4.暂停背景音乐

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

 

5.恢复背景音乐

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

 

6.重头调用背景音乐


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


音效部分

1.播放音效

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

 

2.反复播放音效


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

 

3.停止播放音效

SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId);

 

4.卸载音效

SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str());

 

5.暂停音效


SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);

 

6.恢复音效

SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);

 

7.暂停全部音效

SimpleAudioEngine::sharedEngine()->pauseAllEffects();

 

8.恢复全部音效

   SimpleAudioEngine::sharedEngine()->resumeAllEffects();

 

9.停止全部音效

   SimpleAudioEngine::sharedEngine()->stopAllEffects();


 








本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5057010.html,如需转载请自行联系原作者


相关文章
|
安全 网络安全 数据安全/隐私保护
CocosCreator 面试题(十四)Cocos Creator WebSocket 、Socket.IO分别是什么?
CocosCreator 面试题(十四)Cocos Creator WebSocket 、Socket.IO分别是什么?
850 0
|
8月前
|
数据采集 API 开发工具
从 0 到 1 掌握鸿蒙 AudioRenderer 音频渲染:我的自学笔记与踩坑实录(API 14)
本文详细介绍了在 HarmonyOS 中使用 AudioRenderer 开发音频播放功能的完整流程。从环境准备(SDK 5.0.3、DevEco Studio 5.0.7)到核心概念(状态机模型、异步回调),再到开发步骤(实例创建、数据回调、状态控制),结合代码示例与常见问题解决方法,帮助开发者掌握 AudioRenderer 的底层控制与定制化能力。同时,文章还提供了性能优化建议(多线程处理、缓冲管理)及学习路径,附带官方文档和示例代码资源,助你快速上手并避开常见坑点。
346 7
|
传感器 自动驾驶 算法
智能无人机:物流配送与环境监测
【10月更文挑战第25天】智能无人机技术正深刻改变物流配送与环境监测领域。通过先进的自动驾驶、飞行控制及精确定位技术,智能无人机在物流配送中实现快速、准确的货物送达,显著提高配送效率。在环境监测中,无人机凭借高空监测能力和实时数据传输技术,为大气、水质等环境要素提供全面、高效的监测服务。未来,随着技术升级和应用场景拓展,智能无人机将在更多领域发挥重要作用。
|
Rust 并行计算 安全
揭秘Rust并发奇技!线程与消息传递背后的秘密,让程序性能飙升的终极奥义!
【8月更文挑战第31天】Rust 以其安全性和高性能著称,其并发模型在现代软件开发中至关重要。通过 `std::thread` 模块,Rust 支持高效的线程管理和数据共享,同时确保内存和线程安全。本文探讨 Rust 的线程与消息传递机制,并通过示例代码展示其应用。例如,使用 `Mutex` 实现线程同步,通过通道(channel)实现线程间安全通信。Rust 的并发模型结合了线程和消息传递的优势,确保了高效且安全的并行执行,适用于高性能和高并发场景。
407 0
|
人工智能 弹性计算 自然语言处理
AI奇思妙想之旅 —— 操作系统智能助手OS Copilot
AI奇思妙想之旅 —— 操作系统智能助手OS Copilot
480 1
|
JSON 安全 Java
Star 28.2k!这个开源库真是好用
阅读Hutool的源码是深入理解其工作原理的有效方式。通过阅读源码,你可以学习到Hutool的实现细节,了解其内部的逻辑和设计模式。这对于提高自己的编程技能和理解Hutool的精髓非常有帮助。由于分析源码需要更大的文章篇幅,后续有时间,V 哥再单独写一篇文章来解释这些好用工具类的源码分析。
241 1
|
编解码 索引
HTTP-FLV详解及分析(三)
HTTP-FLV详解及分析
421 0
|
内存技术
HTTP-FLV详解及分析(二)
HTTP-FLV详解及分析
422 0
|
存储 缓存 编解码
FFmpeg开发笔记(四):ffmpeg解码的基本流程详解
FFmpeg开发笔记(四):ffmpeg解码的基本流程详解
FFmpeg开发笔记(四):ffmpeg解码的基本流程详解
|
移动开发 网络协议 应用服务中间件
HTTP-FLV详解及分析(一)
HTTP-FLV详解及分析
905 0