【问题标题】:Cocos2D Javascript 3.0 Audio on iOS/iPadiOS/iPad 上的 Cocos2D Javascript 3.0 音频
【发布时间】:2025-12-01 17:35:01
【问题描述】:

因此,使用刚刚推出的新 Cocos2D Javascript 3.0 制作 HTML5 游戏。音频在 iOS 和 iPad 上的播放方式让您感到非常恼火。我的游戏的目标是跨平台,音频可以在浏览器和安卓设备上运行。它甚至可以在 Windows Phone 上运行!

我尝试过操纵 iOS 的事件处理程序(我知道它不允许您播放音频,除非用户与设备交互)但以前版本的 cocos2D HTML5 建议它是用于支持 iOS 的音频引擎没有麻烦。现在,它似乎没有......

我还研究了诸如 Howler.js 之类的替代方案,但是实现它以与 iOS 一起使用需要我有 SimpleAudioEngine,我不相信 3.0 有。

谁能推荐任何解决方案?如果我什至能够在 iOS 上播放背景音乐,我就已经很高兴了。

我用它来帮助任何有兴趣的人 http://www.cocos2d-x.org/docs/manual/framework/html5/release-notes/v3.0a/upgrade-guide/en

【问题讨论】:

    标签: javascript ios html cocos2d-js howler.js


    【解决方案1】:

    修复它。正如我所说,只有在用户通过触摸或点击等实际与系统进行交互后,您才能播放声音......我在问我的问题之前就有了这个。似乎问题在于音频没有及时加载以触发事件:D

    将我的音频更改为 .mp3,因为它要小得多,并包装我的音乐以在按钮输入时播放。

    var closeItem = cc.MenuItemSprite.create(
                cc.Sprite.create(res.play),
                playButton,
                function () {
                    cc.log("New Game!");
                    this.playEffect();
    );
    
    
    playEffect:function() {
        var audioengine = cc.audioEngine;
        audioengine.playMusic(res.music, true);
    }
    

    【讨论】:

    • 是的,音频引擎中曾经有一个“预加载”方法,但它似乎从 v3 中消失了。