recruit_2009.mp3 这个文件能够发一下么?
@165613676, 这个问题应该在github上最新代码中已经修复了。
由于安卓底层系统解码不稳定而且性能很差,导致没有preload的话播放音效卡顿。
建议升级到https://github.com/cocos2d/cocos2d-x 的v3分支的最新代码尝试一下。
可以这样做:
git clone https://github.com/cocos2d/cocos2d-x.git
cd cocos2d-x
python download-deps.py
拷贝cocos/audio/android目录和external/android-specific目录覆盖到你的游戏工程中,再重新编译打包试试。
[quote=“dumganhar, post:13, topic:44119”]
ndroid-speci
[/quote]在git上的external目录下并没有android-specific目录啊
python download-deps.py
之后就有了
audioengine这个东西能不用就不用,我项目用了audioengine后出现各种兼容性问题,从audioengine一出生到现在就一直没好过,我已经怕了,android平台还是老老实实的用原生的SoundPool吧,稳定性比啥都重要啊!!!
simple那个我开始也用了,但是似乎问题更多呢,因为我们做的这个需要播放大量音效,用simple会经常出现卡屏什么的
你可能用的早期的引擎,我记得某个引擎版本是用clang,后来发现有问题,又切换回gcc了。
你可以修改tools/cocos2d-console/plugins/plugin_compile/build_android.py文件,
def get_toolchain_version(self, ndk_root, compile_obj):
# it should be possible to override the toolchain
if 'NDK_TOOLCHAIN_VERSION' in os.environ:
return os.environ['NDK_TOOLCHAIN_VERSION']
return '4.9'
改成强制使用gcc 4.9来编译。
SimpleAudio在Android平台的问题确实也很多,因为里面限制了最大同时播放音频的数量,而且还有各种奇奇怪怪的问题,不过主要问题是cocos没封装好,但是是没有出现严重的兼容性问题的,如果有能力,建议自己去封装SoundPool,自己写的代码,哪里出问题就改哪里。
改成4.9也不行。。还是一样的错误,是不是跟我用的NDK-r9c有关。。
有可能,r9c太老了,你换成r10e看看。
搞错了,可以正常编过了,改的位置是application.mk的NDK_TOOLCHAIN_VERSION
@dumganhar ios 用的3.13版本的,声音崩溃,求指教一下 谢谢了
AudioToolbox _CrashIfClientProvidedBogusAudioBufferList + 56
1 AudioToolbox AudioConverterConvertComplexBuffer + 280
2 AudioToolbox AUSpatialMixer::Render(unsigned int&, AudioTimeStamp const&, unsigned int) + 2784
3 AudioToolbox AUBase::DoRenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, AUOutputElement*, unsigned int, AudioBufferList&) + 172
4 AudioToolbox AUBase::DoRender(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int, AudioBufferList&) + 432
5 AudioToolbox AUMethodRender(void*, unsigned int*, AudioTimeStamp const*, unsigned int, unsigned int, AudioBufferList*) + 44
6 AudioToolbox AUInputElement::PullInput(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int) + 140
7 AudioToolbox AUInputFormatConverter2::InputProc(OpaqueAudioConverter*, unsigned int*, AudioBufferList*, AudioStreamPacketDescription**, void*) + 216
8 AudioToolbox AudioConverterChain::CallInputProc(unsigned int) + 412
9 AudioToolbox AudioConverterChain::FillBufferFromInputProc(unsigned int*, CABufferList*) + 148
10 AudioToolbox BufferedAudioConverter::GetInputBytes(unsigned int, unsigned int&, CABufferList const*&) + 180
11 AudioToolbox CBRConverter::RenderOutput(CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 100
12 AudioToolbox BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 564
13 AudioToolbox AudioConverterChain::RenderOutput(CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 116
14 AudioToolbox BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 564
15 AudioToolbox AudioConverterFillComplexBuffer + 328
16 AudioToolbox AUInputFormatConverter2::PullAndConvertInput(AudioTimeStamp const&, unsigned int&, AudioBufferList&, AudioStreamPacketDescription*, bool&) + 120
17 AudioToolbox AUConverterBase::RenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int) + 644
18 AudioToolbox AURemoteIO::RenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int) + 84
19 AudioToolbox AUBase::DoRenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, AUOutputElement*, unsigned int, AudioBufferList&) + 172
20 AudioToolbox AUBase::DoRender(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int, AudioBufferList&) + 432
21 AudioToolbox AURemoteIO::PerformIO(unsigned int, unsigned int, unsigned int, AudioTimeStamp const&, AudioTimeStamp const&, AudioBufferList const*, AudioBufferList*, int&) + 752
22 AudioToolbox _AURIOCallbackReceiver_PerformIO + 564
23 AudioToolbox __XPerformIO + 104
24 AudioToolbox _mshMIGPerform + 244
25 AudioToolbox _MSHMIGDispatchMessage + 36
26 AudioToolbox AURemoteIO::IOThread::Run() + 312
27 AudioToolbox AURemoteIO::IOThread::Entry(void*) + 12
28 AudioToolbox CAPThread::Entry(CAPThread*) + 84
29 libsystem_pthread.dylib __pthread_body + 240
30 libsystem_pthread.dylib __pthread_body
这个问题是在什么情况下出现的?有没有好的重现方法?
thx
我项目是3.14.1的,我把3.15.1的cocos/audio全部覆盖了,也添加了external/android-specific,编译跑起来感觉没有什么变化,没有preload第一次播放音效也是很卡,部分卡一秒才能播放,sigh
测试机是小米6 miui8.5.4.0 稳定版
你是用AudioEngine还是SimpleAudioEngine播放音频?
我用的是play2d的接口,应该就是audioengine吧