声音循环卡顿 (preloadBackgroundMusic实现为空)(求助)

  • 本帖最后由 a12869318 于 2013-7-7 11:20 编辑 *

3,4天后,
原因初步确定是 preloadBackgroundMusic 无效,(预加载无效)(调节音量也无效)
有无解决方案,谢过。

---------------------------------------华丽的分割线
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(“background.mp3”);
CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(“background.mp3”,true);

不管是预加载音效还是BG
都会在循环衔接的位置产生卡顿。

另外我的音频已经压缩到100k 以下了,甚至mid压缩到了几百个字节,还是会有不明显的随机卡顿现象,

mid wav mp3 都试过
mid相对较好,但是效果相对差了些,不能有人声,
wav和mp3都会有很明显的循环卡顿,

求帮助 !!

{:soso_e105:}

win7+vs2010

---------------------------------------华丽的分割线
纠结了一两天后

今天早上发现是预加载SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic 可能是无效
然后我测试了一下 setBackgroundMusicVolume 声音大小修改也无效,

接着我打开模版testcpp,
1137
同样发现这两项无效。
于是我重新生成了所有项目,依然无效。
是否是模版没有安装好,但是生成是成功的。
坐等高人指点!!
感激不尽。

这个是两年前的bug不知道有什么帮助没
http://www.cocos2d-x.org/issues/542
1138
play–stop–resume;这种组合方式也卡

不知道大家为何都没有遇到这个问题。

以下是Volume 无效的bug链接 http://www.cocos2d-x.org/issues/1291

https://github.com/tralamazza/cocos2d-x/commit/d88c30c9fae5accf87e39d5b89b16735db8ce95e
setvolume Fix 不过还是无效

preloadbackgroundmusic 也无效,卡的一B,卡得我满地找牙。

  • 本帖最后由 a12869318 于 2013-7-7 11:21 编辑 *

void SimpleAudioEngine::preloadBackgroundMusic(const char* pszFilePath)
{
实现为空
}

求方案。。

cocos2d-x的simpleaudioengine在windows实现就是简单的用win32 API实现的。我猜是因为cocos2d-x的目标不是桌面环境,所以就简单实现了一下。你可以用openAL来实现。

cocos2d-x的simpleaudioengine在windows实现就是简单的用win32 API实现的。我猜是因为cocos2d-x的目标不是桌面环境,所以就简单实现了一下。你可以用openAL来实现。

卡顿解决没LZ。我也遇到了这样的问题,纠结啊……

不要纠结了,win32下就会有这个问题,手机上不会,不信自己试下,cocos2dx在win32下只是一个开发调试用,不要太较真

没人解决吗!!

解决了。
稍微修改play个preload的实现。把mci的open移动到preload里面。然后重新生成lib和obj。
然后我换了个系统。搞定。
播放的时候会掉4,5帧的样子,不过可以忽略了。

能说的再详细点吗?我预加载音效实现了,可是和不预加载的效果一样,感觉没起作用。可以贴下代码吗?:3:

我音效没有循环,不过也使画面卡顿了。怎么解决?

我是这样 解决的

#if defined(newAudio)

#include “audio/include/AudioEngine.h”
using namespace cocos2d::experimental;

#else

#include “SimpleAudioEngine.h”
using namespace CocosDenshion;

#endif

根据不同平台 使用不同音乐引擎! 人挡杀人佛挡杀佛!:2:
新的音乐引擎无需预加载,win32支持oog播放,略叼!