cocos场景切换时背景音乐的加载和播放

播放方式

cocos音频播放有两种

一种用 AudioSource 组件播放

img

一种用 AudioEngine 播放

img

使用方式

AudioSource 组件使用方案,在切换场景后,背景音乐就会停止播放

用 AudioEngine 播放切换场景也依然有效,也更加方便细粒度控制

官方参考文档

https://docs.cocos.com/creator/manual/zh/audio/audio.html?h=%E9%9F%B3%E9%A2%91

暂停和播放

注意,如果使用API方式,需要保持方法统一

如背景音乐的使用(均带有music)

  1. 播放使用 cc.audioEngine.playMusic

  2. 暂停使用 cc.audioEngine.pauseMusic

  3. 恢复播放使用 cc.audioEngine.resumeMusic

  4. 获取背景音乐是否在播放使用 cc.audioEngine.isMusicPlaying

audioEngine.play 为统一播放音频,audioEngine.playEffect主要用于播放音效

官方API文档

https://docs.cocos.com/creator/api/zh/classes/audioEngine.html#playmusic

Tips

加载背景音乐资源

  1. 使用cc.resources.load

  2. 要加载的音频文件放在resources文件夹下

  3. cc.resources.preload可以预加载资源

let that=this
cc.resources.load(`audios/bgMusic`, cc.AudioClip, function (err, clip) {
    if (err) {
        console.log(`背景音乐加载错误err`, err);
        return err;
    }
    console.log(`背景音乐加载成功`);
    // 加载背景音乐
    that.bgMusic = cc.audioEngine.playMusic(clip, true, 0.5);
});

官方参考文档

https://docs.cocos.com/creator/manual/zh/scripting/dynamic-load-resources.html?h=cc.resources.preload

END.