cocos2dx 3.x simpleAudioEngine 长音效被众多短音效打断问题

假设先play长音效a,然后在a播放过程中反复执行:play短音效b,stop b,play b,... 则若a足够长,就会被b打断。而长音效被打断是最不可接受的。

a之所以会被打断,推测原因是simpleAudioEngine对音源的管理不善,play b, stop b,再play b这个过程中不是重复使用同一个音源,而是不断新地使用下一个音源,当音源耗尽后又绕回,从而导致把a的音源占用,a被迫停止。

在不动simpleAudioEngine底层的情况下,目前还没有找到好的解决办法,当前项目中遇到这种情况采用的办法是,如果有长音效a在播放,就弄一个倒计时,在倒计时未到达0之前,不允许播放音效b。

时间: 2024-08-03 00:09:37

cocos2dx 3.x simpleAudioEngine 长音效被众多短音效打断问题的相关文章

ios 短音效的使用

1.通用短音效ID的获取 #import <Foundation/Foundation.h> @interface MJAudioTool : NSObject /** * 播放音效 * * @param filename 音效文件名 */ + (void)playSound:(NSString *)filename; /** * 销毁音效 * * @param filename 音效文件名 */ + (void)disposeSound:(NSString *)filename; @end

将一条长链接转成短链接

package com.wanhua.weixin.util; import java.util.HashMap;import java.util.Map; import org.json.JSONObject; import play.cache.Cache;import play.i18n.Messages; import com.alibaba.fastjson.JSON;import com.wanhua.weixin.model.AccessToken; /** * 请求地址url的工

PHP实现新浪长链接转化成短链接API

我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实现长链接转换成短链接: 新浪提供了一个长短连接转换的API,我们可以使用它:具体实现:(新浪官方接口API:http://open.weibo.com/wiki/微博API) <?php /Sina App_Key define('SINA_APPKEY', '31641035'); functio

长轮询 VS 短轮询

创建基础Web的实时系统时,通常会使用的到HTTP,但HTTP天生不是为实时,双向沟通设计的.我们如何解决这个问题呢? 我们先来看一下HTTP协议: http 协议介绍: http 协议是请求/响应范式的, 每一个 http 响应都是由一个对应的 http 请求产生的; http 协议是无状态的, 多个 http 请求之间是没有关系的. http 长连接: 目前 http 协议普遍使用的是 1.1 版本, 之前有个 1.0 版本, 两者之间的一个区别是 1.1 支持 http 长连接, 或者叫持

生命很长,痛苦很短

初中.高中.大学时期是我情感波动最大的时期,我的同学也有一些波动很大,我们轰隆隆的心理变化和遭遇的伤痛是这一辈子都不能忘却的. 那时候,大家进行激烈的心理碰撞,都很要强,都会去追逐自己喜欢的女孩子,似乎要发生什么,但最后什么也没有发生,空在一旁心力憔悴.确实有些人也产生了爱情,但最后还是没有修成正果,这究竟是什么原因呢?我想是我们年轻,心理还不稳定,总是不满足于平凡和已经得到的爱情果实.细想,人生也就那么回事,相濡以沫,繁衍生息,有几个像电视剧上那样爱的死去活来,生活总归要恢复平静,能在平静的生

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

[唠叨] 本节比较简单,主要讲讲cocos2dx引擎中的音乐音效. [致谢] http://gl.paea.cn/contents/f86d1f6e2a52e7ea.html [术语] 单例类:说的通俗一点,它就是一个全局静态类.第一次调用时会创建一个全局静态对象,整个游戏的运行过程中会一直存在,全局都可以访问. [SimpleAudioEngine] 音乐音效是每个游戏中不可或缺的部分,一个好的声音会给玩家留下深刻的印象,当一听到游戏的声音,就会不自觉得说出游戏的名称来.就像<中国好声音>一

cocos2d-x 添加背景音乐和音效-SimpleAudioEngine

首先,要想使用音效,需要启用音效引擎库CocosDenshion中的SimpleAudioEngine类, #include "SimpleAudioEngine.h" CocosDenshion引擎库实际上是对系统音频API的封装,因此它支持的音频文件格式与平台有关.具体不同平台的格式支持请查阅资料,通常我们就用各个平台都支持的格式,音乐:mp3:音效:wav. 具体的使用做一个简单的介绍,比较简单: 音乐:同一时间,只能有一个背景音乐在播放. void preloadBackgro

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

重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30485103 假如世界上没有了音乐,在森林里.我们听不到莺.鸫鸟用纯洁.纯净的的声音唱歌.听不到甲虫和蚱蜢拉提琴的声音:听不到小河哗哗啦啦地演奏:也听不到落叶沙沙地歌唱--森林无论如何郁郁葱葱,如何漂亮也只是仅仅是空荡和孤独. 假如世界上没有了音乐,人们将无法听到莫扎特.贝多芬等音乐天才创作的那些动听的乐曲:人们将不能看到花儿乐队活力四射的表演:音乐

Cocos2d-X中的声音和音效

在玩游戏时都会有各种游戏音,如启动游戏时会有背景音,胜利或者失败会有一些音效.在Cocos2d-X中能够使用CocosDenshion实现各种声音 在使用CocosDenshion之前须要在程序中加入一个头文件和一个命名空间 #include "SimpleAudioEngine.h" using namespace CocosDenshion; 然后在project文件夹下的Resource文件夹中加入音乐文件 播放背景音乐 //播放背景音乐 //第一个參数:音乐文件名称 //第二个