Wildfire S w / cocos2dx上的声音相关崩溃

时间:2012-09-11 23:56:11

标签: android cocos2d-x soundpool

我遇到与声音相关的 HTC Wildfire S 频繁崩溃的问题(在Thunderbolt等其他设备上看起来有类似但不那么频繁的崩溃)。我已经尝试了各种各样的东西来解决它,或者至少可以更好地了解问题究竟是什么,没有运气。

我确定这个问题与声音有关。当我评论SoundPool.play()时,问题就会消失。我认为这不是SoundPool,因为我尝试使用 OpenSL ES 而不是减少崩溃。

我也很难接受它是低级声音的问题,因为它只发生在这个标题上;但在其他使用相同声音代码构建的游戏中,并没有(据我所知)。此外,我发现几乎没有其他人遇到同样问题的证据。

然而,我能想到的游戏特定的东西会导致这个(很多同时发出的声音,频繁的声音,声音格式)似乎不是一个问题(我一次只减少到一个声音,切换到WAV,较小的文件,OGG,忽略不会阻止最近发生的另一种声音的声音。)

我们的常用代码建立在 cocos2dx 之上,并且看起来(尽管我并不完全相信)崩溃随着 * Cocos2dxSound .java *以便它只在第一次SoundPool.play(...) returned 0之后才会睡眠主线程。

此外,如果它可能是一个问题,安装后会下载一些来自APK的声音。

非常感谢任何想法或建议;这已经比它应该的时间更长了。

2 个答案:

答案 0 :(得分:0)

如果你共享一些代码会有所帮助。但我建议你从ZXing检查这段代码:

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/BeepManager.java?r=2271

特别是buildMediaPlayer()

答案 1 :(得分:0)

问题是由于一个无关的问题。播放声音时,它暴露了问题。不确定玩的是什么;但是我们怀疑播放声音是出于什么原因将大多数低/中音范围的电话放在内存边缘(ndk-profiler最近已经签入,但是在签入时它没有被禁用,所以它仍在进行分析)。