Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
移动设备上cocos2d javascript中的音频问题_Javascript - Fatal编程技术网

移动设备上cocos2d javascript中的音频问题

移动设备上cocos2d javascript中的音频问题,javascript,Javascript,我正试图找到一些文档来支持cocos2djavascript的音频。 预加载音频并使用mp3或ogg格式的标准方法播放: var audioEngine = cc.AudioEngine.getInstance(); audioEngine.playEffect(s_sound); // s_sound is a reference to a preloaded audio resource 适用于所有浏览器。但是当你在一个设备上加载浏览器时,比如说iphone4sretina,没有音频播放,

我正试图找到一些文档来支持cocos2djavascript的音频。 预加载音频并使用mp3或ogg格式的标准方法播放:

var audioEngine = cc.AudioEngine.getInstance();
audioEngine.playEffect(s_sound);
// s_sound is a reference to a preloaded audio resource
适用于所有浏览器。但是当你在一个设备上加载浏览器时,比如说iphone4sretina,没有音频播放,或者至少它看起来没有音频播放超过几秒钟的声音。我还没有发现任何具体说明设备支持中可能存在哪些限制的内容,我也没有看到有人试图在任何人的示例游戏中解决这一问题,比如,iphone 4s上也不播放音频

我试图同时播放多个声音

每个有问题的声音长度超过15秒,并且是一个大于500k的文件

所有音频都会被加载,因为游戏不会出现,除非它们被加载

每个音轨都是吉他英雄型游戏背景音乐的一层。这就是为什么它们超过500公里,超过15秒的原因


也许这里有人也遇到过类似的问题,可能知道如何保证在移动设备上播放音频?

到目前为止,我们和

我在脚本加载器中加载这两个文件,然后修改Platform/HTML5/CocosDenshion/simpleudioengine.js-

cc.AudioEngine.getInstance = function () {
    if (window.devicePixelRatio > 1) {
        if (!this._instance) {
            this._instance = new cc.HowlerAudioEngine();
            this._instance.init();
        }
    } else {
        if (!this._instance) {
            this._instance = new cc.AudioEngine();
            this._instance.init();
        }
    }
    return this._instance;
};
注意
window.devicePixelRatio>1
我通常在这里检测视网膜显示或hd。这可以用任何经过验证的检测“移动”的方法来代替,但是,
sys.platform
cc.config.deviceType
总是为我返回“browser”,所以我现在求助于像素比率,因为我的测试设备将返回true

然而,缺点是,在提供声音效果方面仍然有很大的延迟。我可以弥补大部分,所以这总比什么都没有好。此外,我还没有找到音频文件的容差阈值(播放时间或数据长度)。我知道我的长约3分钟的曲目即使在《嚎叫者》中也不会播放,但我的1分钟曲目会播放


如果你有更好的,更可靠的或只是一个补充,请张贴它。cocos2d javascript还没有足够的支持,所以一切都有帮助。

我也面临着同样的问题,除了Mobile Safari,我可以在所有浏览器上播放声音,我使用的是Cocos2dx 3.10版的js,我在这里找不到SimpleAudioEngine.js文件,我有cc.Audio.js文件。你现在能帮我吗?自从这个问题出现以来,情况似乎发生了变化。我查看了3x,看起来音频是在/cocos/audio/include/simpleudioengine.h中处理的,尽管我不能保证结构仍然是一样的。您可能需要修改这里的示例代码,以处理该类现在正在执行的任何操作。