我做钢琴课一类的游戏,播放旋律,同一首旋律,播放到节奏A,在android上有的设备用时4.5秒,在ios上有的是4.2秒,都做预加载了,不同设备上效果不一样,这个有什么解决方案呢?
jsb.AudioEngine我用jsb.AudioEngine.preload做的预加载,cc.audioEngine没有预加载的方法,是把音频资源扔到g_resources,直接启动场景时加载,cc.LoaderScene.preload(g_resources, function (){})。
不要沉,哪位了解,给看一下吧,我不是用调度器计的时间,所以跟帧率应该没关系,我使用音频引擎提供的api,getcurrentTime获取的,我怕这个api不准,我还用截取系统时间来对比拍子之间的时间差做计时,结果还是一样,在不同平台上节奏时长也不一样。
试试在mp3编辑软件里看看到底是多少先。。。。比如audition
我们是音乐机构的,有很多专业的老师,真正的拍子值比我上面说的在ios和android上测出来的都要小,误差是小数点后一位(0.2~0.6之间),所以我感觉是cocos用的音频引擎openAL和openSL貌似都是不准或者没处理好的吧。