多音效播放本地调试OK!打包到android播放不正常

昨天打包的项目在手机上进行调试,发现了一个很奇怪的问题。在本地调试是OK的
手机上音效部分播放的过程中,总是刚开始播放就没有了见,或者根本就不播放。就好像人想说一句话,可是说了两个字就没有下文了,很是让人郁闷。
作为小白,刚开始我以为是音效文件的mp3格式的大小写的问题,检查了一遍。没发现异常!然后作为新手的我,突发异想,是不是音频文件在打包的过程中没有完全导入进去,音频文件受损,所以出现这样的情况?
再仔细的调试聆听一下,发现背景音乐,和关卡切换音乐是OK的,并且背景音乐的文件要比音效部分的文件大的多。至此扬扬的突发异想基本上被否定了!
然后在网上开始寻找答案,发现了确实有存在着和我一样问题的朋友!他们的解决方法,有一种是对音效的播放是否完全做一个判断。直到上一段音频播放完全以后,再播放下一段音频。但是这对于我手边的项目来说又是不切合实际的,当子弹碰撞到物体以后发出音效,如果这个音效时间有些长,我了个去,那岂不是成大长调,一直播放了。
继续寻找答案,终于在一位老大口中找到了答案。
声道问题,在打包的时候把Cocos2dxSound.java文件夹下的声道大小手动调节一下,cocos2d-x默认的为:

public class Cocos2dxSound {
    // ===========================================================
    // Constants
    // ===========================================================
    public static final int MAX_SIMULTANEOUS_STREAMS_DEFAULT = 5;
    public static final int MAX_SIMULTANEOUS_STREAMS_I9100 = 3;

    private static final String TAG = "Cocos2dxSound";
    ......
    }

默认值为(5和3)尽量调的大一些。我这里调成 20 和 5。
如果是eclipse导入项目的话,这个Cocos2dxSound.java文件路径是:导入项目–>src–>org.cocos2dx.lib–>Cocos2dxSound.java。
不知道在编译之前的项目中Cocos2dxSound.java文件是否要更改,文件路径是:
项目名称\proj.android\src\org\cocos2dx\lib\Cocos2dxSound.java
还有一个是:
项目名称\cocos2dx\platform\android\java\src\org\cocos2dx\lib\Cocos2dxSound.java
我这里是两个都改了然后重新编译一下,再检查一下eclipse导入后的Cocos2dxSound.java文件里面是的值是否改变。确认无误以后,再次打包!问题解决。
游戏过程中的音效再也不用结结巴巴的让人听着真实头疼了。
参考微博(如果您从中略有收获请帮忙顶一下,对原创作者继续写下去也是一种动力):
cocos2d-x 同时播放多个音效的问题

Straw:做个总结,看来你还是很努力的吗?毕业论文什么时候搞完?
扬扬:…..

auto sprite = CCSprite::create("风儿.png");
addChild(sprite);

扬扬:神啊!带我走吧,我愿意—-
风儿

发布了40 篇原创文章 · 获赞 10 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章