Cocos2d-x游戏开发之SimpleAudioEngine 音乐音效

关于win平台下cocos2dx背景音乐及音效的声音调节问题 【前言】 cocos2d-x引擎终究不是多啦A梦的口袋,什么功能都有~ 比如UP主最近在做一个Windows、Android双平台的小程序,其中需要实现一个MP3播放器的功能 但是目前cocos2d-x自带的SimpleAudioEngine音频引擎确实有点太Simple了,除了打开播放暂停这几个最最基本的方法之外,别的功能啥都没有 (当然,想实现别的功能的话,需要考虑 阅读详情

本站文章转载务必在明显处注明:原文链接:http://blog.youkuaiyun.com/cjsen/article/details/9405879

前言

Cocos2d-x支持多种音乐格式mp3,wav等音乐格式。并使用SimpleAudioEngine单例类,进行管理。分为游戏中的长时间的背景音乐和短的音效两种,为我们的游戏增加效果。

1.背景音乐

源码常用方法

    void preloadBackgroundMusic(const char* pszFilePath);//预加载这个音乐(pszFilePath 为文件名如 soundtrack.mp3)
    
    void playBackgroundMusic(const char* pszFilePath, bool bLoop);//播放背景音乐,bLoop是否循环播放
    void playBackgroundMusic(const char* pszFilePath) {//同上,默认不循环播放
    	this->playBackgroundMusic(pszFilePath, false);
    }

    void stopBackgroundMusic(bool bReleaseData);//停止背影音乐,bReleaseData是否释放音乐文件
    void stopBackgroundMusic() {//同上,默认不释放
    	this->stopBackgroundMusic(false);
    }

    void pauseBackgroundMusic();//暂停背影音乐

    void resumeBackgroundMusic();//暂停开始播放音乐

    void rewindBackgroundMusic();//从头调用播放背影音乐

    bool willPlayBackgroundMusic();//返回布尔值 是否将要播放音乐

    bool isBackgroundMusicPlaying();//返回布尔值 背影音乐是否在播放中

    float getBackgroundMusicVolume();//返回背影音乐的音量

    void setBackgroundMusicVolume(float volume);//设置背影音乐的音量

使用示例 :选预加载,再播放

    SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("soundtrack.mp3");//先预加载
    SimpleAudioEngine::sharedEngine()->playBackgroundMusic("soundtrack.mp3", true);//播放

2.音效

源码常用方法

    float getEffectsVolume();//获取音效音量
    void setEffectsVolume(float volume);//设置音效音量
    unsigned int playEffect(const char* pszFilePath, bool bLoop);//播放音效,bLoop是否循环播放
    unsigned int playEffect(const char* pszFilePath) {//同上
    	return this->playEffect(pszFilePath, false);
    }
    void pauseEffect(unsigned int nSoundId);//暂停某个音效(nSoundId 由playEffect方法返回获得)
    void pauseAllEffects();//暂停所有音效
    void resumeEffect(unsigned int nSoundId);//重新开始某个音效
    void resumeAllEffects();//重新开始所有音效
    void stopEffect(unsigned int nSoundId);//停止某个音效
    void stopAllEffects();//停止所在音效
    void preloadEffect(const char* pszFilePath);//预加载某个音效文件
    void unloadEffect(const char* pszFilePath);//释放某个音效文件
使用示例,与播放背影类似

    SimpleAudioEngine::sharedEngine()->preloadEffect("click.wav");//可以先提前预加载
    soundId = SimpleAudioEngine::sharedEngine()->playEffect("click.wav", false);//在需要的地方播放

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

简单的实例Demo下载


Cocos2d-x游戏开发之SimpleAudioEngine音乐音效 Cocos2d-x游戏开发之SimpleAudioEngine音乐音效 http://blog.youkuaiyun.com/cjsen/article/details/9405879 立即下载

相关推荐

cocos2dx允许播放多个音效及手机版播放声音时崩溃

cocos2dx允许播放多个音效及手机版播放声音时崩溃

cocos2d 使用SimpleAudioEngine加载音乐音效

游戏音乐与音效 cocos2d中使用SimpleAudioEngine可以很简单的播放背景音乐和音效 背景音乐默认是循环播放的,音效默认是播放一次,而且一般情况音效都是很短的。 下面我们首先来分析一下SimpleAudioEngine这个类 这个类中有三个属性(backgroundMusicVolume,effectsVolume,willPlayBackgroundMusic

fire_work的专栏 4516

EWF写保护功能详解:从安装到实战操作指南

本文详细介绍了EWF写保护功能的安装与实战操作指南。EWF(Enhanced Write Filter)通过重定向写入操作保护硬盘分区,特别适合需要长期稳定运行的系统场景。文章涵盖从安装准备、图形界面操作到命令行高级管理的全流程,并提供了常见问题的解决方案,帮助用户轻松掌握这一实用工具。

weixin_28710999的博客 446

cocos2dx基础篇(19)——音乐音效SimpleAudioEngine

【唠叨】本节比较简单,主要讲讲cocos2dx引擎中的音乐音效SimpleAudioEngine。【致谢】http://gl.paea.cn/contents/f86d1f6e2a52e7ea.html【小知识】单例类:说的通俗一点,它就是一个全局静态类。第一次调用时会创建一个全局静态对象,整个游戏的运行过程中会一直存在,全局都可以访问。【Demo下载...

weixin_33675507的博客 525

半导体AMHS天车振动控制:从0.5G到超低振动的技术演进与工程实战

在先进晶圆厂中,自动化物料搬运系统(AMHS)的天车如同空中出租车,承担着晶圆盒(FOUP)在洁净室各工艺区间的转运任务。然而,当天车加减速、过弯或抓取时产生的机械振动通过轨道梁和建筑结构传递至光刻机等敏感设备,便可能直接威胁套刻精度与良率。传统被动减振方案依靠橡胶垫和弹簧,在0.5G指标时代曾行之有效,但在EUV光刻和先进制程面前已力不从心。主动振动控制技术通过传感器、控制器与作动器构成的闭环系统,在轨道吊点和机械手端实时输出反向力抵消振动,配合磁悬浮走行、轻量化结构及调度系统的路径优化,将振动从0.5G

weixin_29188043的博客 341

Cadence Virtuoso实战:NMOS差分放大器设计与SPICE仿真全解析

本文详细解析了使用Cadence Virtuoso设计NMOS差分放大器并进行SPICE仿真的全流程。从基础设计要点、原理图绘制到工作点分析与性能调优,提供了实用的设计技巧和常见问题解决方案,帮助工程师高效完成模拟集成电路设计。重点介绍了差分放大器的关键参数设置、饱和区优化及版图设计注意事项,适用于ADC、DAC等高性能电路开发。

weixin_28340315的博客 610

cocos2dx 4.0入门之泡泡龙项目的分解(一)

最近在学习cocos,看的书是《cocos2d-x 3.0 游戏开发实战详解》,这本书有576页,但是我不喜欢按书中传统的方法,从基础开始,看精灵、层等blabla一堆,半天还没真正开始项目,这会让我失去兴趣。 因此,我打算直接从第12章开始,虽然没有了解深入基础知识,但是作为一只小白只有从项目中学习才是最快的,而不是半天捧着一本词典看,再来写文章。 第十二章是泡泡龙游戏,书上的例子是在cocos2dx3.0 安卓环境下进行的。 我的环境是vs2019 +cocos2dx 4.0+win32项目。先下载资源

qq_23345187的博客 1196

泛微E10 eBuilder低代码平台避坑指南:新手最容易犯的5个错误及解决方案

本文针对泛微E10 eBuilder低代码平台的新手开发者,总结了5个最常见错误及解决方案,包括表单联动配置、流程设计权限、动作流时序、数据加工类型转换和权限管理过度配置等问题。通过实战经验和代码示例,帮助开发者避开常见陷阱,提升开发效率。

weixin_30919429的博客 540

cocos2d-x开发 之 声音引擎SimpleAudioEngine

SimpleAudioEngine是cocos2d-x中的声音引擎,它控制着在游戏中的声音。 而且它是一个全局静态类,至始至终只会有一个且全局能访问。 话不多说我们来介绍一下吧 要使用SimpleAudioEngine引擎当然得手动添加头文件啦 #include "simpleAudioEngine.h" using namespace CocosDenshion; 因为它是一个单例模...

爱吃的栗子‘s 博客 1070

CANoe VLAN配置的艺术:如何通过脚本自动化实现高效车载网络测试

本文深入探讨了CANoe VLAN配置的自动化实现,通过CAPL脚本与Python工具链的结合,提升车载网络测试效率。重点解析了硬件侧VLAN配置与软件侧VLAN配置的交互机制,并提供了实用的脚本开发示例和调试技巧,帮助工程师快速构建高效的自动化测试方案。

qqq44的博客 616

ArcGIS中如何计算多个点到特定线的最短距离

现有一个点图层和一个面图层,怎么来计算这些点到这个面图层,两个面的公共边的最短直线距离呢? 1.首先得将两个图层都转为 投影坐标系 打开工具箱-数据管理工具-要素-面转线 ​ ​ 2.将面图层设为输入要素 注意要将“识别和存储面邻域信息”勾选 ​ 3.面转线成功后 打开线属性表,线图层拥有了 LEFT_FID和RIGHT_FID两个字段 ​ 4.按属性选择,表达式中输入 “LEFT_FID”<>-1 即可选出两个面的公共边 ​再将选...

GIS蒲公英的博客 6715

cocos2d-x如何播放音乐和音效

cocos2d-x如何播放音乐和音效 在这一章里,我们将利用cocos2d-x为游戏加入背景音乐,并在英雄发射子弹时播放音效。 由于这里需要添加的代码很少,所以我们在这里多谈点音效引擎。Cocos2d-x已封装了SimpleAudioEngine用来跨平台。在我们的游戏中,我可以仅用一行代码,就能播放背景音乐和音效。这是非常方便的。当然,所支持的音频格式因平台而异,关于

warxjCPP的专栏 484

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

此时我们的卡顿优化基本完成了,我们应该要考虑内存是否会泄漏,如果大家不知道哪些需要回收可以用leakcanary和android profiler进行内存检测,看代码有没有内存泄漏。

龚礼鹏的博客 2546

Cocos2d-x音乐和音效概述

Cocos2d-x音乐和音效概述   你的游戏肯定会需要音乐和音效!Cocos2d-x提供了一个SimpleAudioEngine类支持游戏内的音乐和音效。它可以被用来增加背景音乐,控制游戏音效。   SimpleAuduioEngine是一个共享的单例对象,可以在代码中的任何地方通过很简单的方式获取到。以下是支持的文件格式。   支持的音乐格式: 平台 支持的常见文件格式 备注 Android mp3, mid, ogg, wav 可以播放android.media.MediaPlayer

田螺姑娘的博客 2524

手把手教你学simulink实例--基于Simulink的航空发动机控制系统设计与仿真

航空发动机是飞机的核心动力装置,其性能直接影响飞行器的安全性、经济性和可靠性。现代航空发动机控制系统需要具备高精度、快速响应和强鲁棒性的特点,以适应复杂的飞行环境和任务需求。本项目旨在使用MATLAB/Simulink平台,设计并实现一种适用于涡扇发动机的闭环控制系统,通过调节燃油流量、压气机叶片角度等控制变量,确保发动机在不同工况下稳定运行,并满足推力需求。

MHD0815的博客 275

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

cocos2D-x之音乐与音效

音乐与音效 在游戏中实现一套优质的音乐与音效远比制作漂亮的画面简单得多。 只需要开发者完成很少的工作量,就能把游戏的互动效果提高一个层次。 CocosDenshion实现了3个音效引擎, 由底层到高级分别是 CDSoundEngine、CDAudioManager和SimpleAudioEngine 支持格式         播放音

SlimApp 1107

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Cocos2d-x游戏开发之音效使用

在我们的游戏开发之中,除了UI是重中之重以外,音乐同样是不可缺少的重要部分。 因为人有两只眼睛和耳朵。 现在先来看引入的库文件,总的来说比较简单。 首先引入的库文件,并使用命名空间: #include "SimpleAudioEngine.h" using namespace CocosDenshion; 下面是代码使用: //播放背景音乐,相对路径,放在res

wisdom605768292的专栏 2279

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Cocos2d-x中 SimpleAudioEngine的音频引擎

SimpleAudioEngine能够在游戏中播放背景音效以及游戏音效。SimpleAudioEngine是一个共享的单例对象,因此你可以在程序的任意地方调用它。就算是一个 HelloWorld 工程也可以很方便地使用这个引擎。SimpleAudioEgnine 支持多种格式的音频,比如MP3和CAF(Core Audio Forma) 播放背景音乐 选择一个音频文

灵思致远Leansmall的博客 1264

cocos2d-x 2.2.6 之 声音和音效(一)

添加声音或音效时,示例代码如下: #include "SimpleAudioEngine.h" bool HelloWorld::init() { if ( !CCLayer::init() ) { return false; } // 播放声音 CocosDenshion::SimpleAudioEn...

all36426的博客 153

cocos2d-x 2.2.6 之 声音和音效(二)

在上一篇中,声音和音效的播放的主要接口,结果编写如下代码: float m_MusicVol = 0.5f; // (0.0f~1.0f) 音量大小 float m_WavVol = 0.5f;  // (0.0f~1.0f) 音效大小 CocosDenshion::SimpleAudioEngine::sharedEngine()->setBackground...

all36426的博客 153

cocos2d-x的声音控制

声音控制SimpleAudioEngine是单例,以下是其方法。 [cpp] view plaincopy //获得SimpleAudioEngine的实例   static SimpleAudioEngine* sharedEngine();   //提前载入音频   void preloadBackgroundMusic(const char*

Y.Light的专栏 1359

第六章——如何播放音乐和音效

http://cn.cocos2d-x.org/resource/show?nid=72\   在这一章里,我们将为游戏加入背景音乐,并在英雄发射子弹时播放音效。 由于这里需要添加的代码很少,所以我们在这里多谈点音效引擎。Cocos2d-x已封装了SimpleAudioEngine用来跨平台。在我们的游戏中,我可以仅用一行代码,就能播放背景音乐和音效。这是非常方便的。当然,所支持的音频格

SlimApp 782

Cocos2d-x 音频功能学习笔记

http://cn.cocos2d-x.org/tutorial/show?id=2448 游戏离不开声音!Cocos2d-x中提供了一个叫做SimpleAudioEngine的音频引擎。SimpleAudioEngine能够在游戏中播放背景音效以及游戏音效。SimpleAudioEngine是一个共享的单例对象,因此你可以在程序的任意地方调用它。就算是一个 HelloWorld

灵思致远Leansmall的博客 845

Cocos2d-x背景音乐和音效

一个游戏,如果不加声音会降低整个游戏的吸引力,一些经典的游戏,我们一听到声音,就知道是什么游戏...这就是声音给玩家留下的深刻音效 游戏里面的声音分为两种:背景音乐和音效 下面就跟大家讲一下添加声音的步骤和声音控制的一些方法 第一步:预加载背景音乐和音效  // 预加载背景音乐和音效:相对路径 .mid和.wav等格式文件   SimpleAudioEngine::s

DynastyTing的专栏 837

【cocos2D-x学习】9.音乐炫台——音效与特效

【目标】:制作一个简单的音乐炫台式的游戏 一、游戏概念         游戏的设想是来自于一个简单的FLASH游戏。我这边基本做完了以后发现android平台也有一款类似的游戏《音乐炫台》。其界面和扫雷类似,是一个方格阵,被选中的格子会随着节拍发出声响,并且发出声响时会有一定的特效来显示。玩家可以通过选中不同的格子来组合成各种音乐。         做这个游戏的目的有两个:一是学习音

ronintao的专栏 9587

【工具类篇------声音管理器(管理游戏的音乐音效)】

由管理器同意负责游戏声音的开跟关#pragma once #ifndef _SOUND_MANAGER_H_ #define _SOUND_MANAGER_H_ #include using namespace std; /* 声音管理器 @author : cui @date : 2016.10.12 */ class SoundManager { public: //除了游戏之外的

dearsir的博客 665
上一篇: Cocos2d-x游戏开发之CC_SAFE_RELEASE
下一篇: Android之WebView简单执行一条JS代码
CJsen
博客等级 码龄17年 46粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值