音频文件加载机制

我加载了两个音频文件,分别为mp3和wav格式,其中wav格式音频播放完成之后再次循环播放时,还会继续加载这个音频文件,而MP3则不会重复加载,请问大神们这是为什么?如图

图片最下方的wav音频文件每播放完一次就会加载一次?

求官方回复!!!!

来人啊,求解答

@visualsj 麻烦看一下这个问题

你是怎么使用的吖?用 audioSource 还是 直接使用 cc.audioEngine ?

我看到你那里请求每次都是 5s ,每次播放都要等那么久么?

我刚刚试了下 example-cases 里面的 audio test,一直重复播放 ding.wav 没有发现重复加载哦。。

能不能把具体的使用场景面试一下下哇?

另外,那个304请求没有内容的,应该非常快,不知道为什么你那里显示的是 5.16s,测试的 chrome 的版本是多少吖?看看是不是指定浏览器出现的问题~~

是用的cc.audioEngine

貌似不用等那么长时间

properties: {

    BackGroundAudio:{
        default:null,
        url:cc.AudioClip
    },
    // isPlayed:true,

    
},

// use this for initialization
onLoad: function () {
    if(cc.audioEngine.isMusicPlaying()){
        //cc.audioEngine.stopMusic(cc.soundID);
    }
    else{
        cc.audioEngine.playMusic(this.BackGroundAudio,true);
    }
    

},

代码如上,把这个脚本组件直接加到场景的canvas下面了,然后界面上设置的BackGroundAudio。

另外chrome版本是版本 51.0.2704.106 m

我这里的 chrome 版本和你一样,然后使用你上面的代码,播放的是 ding.wav ,还是没有发现重复加载的问题。。

你那里现在还会么?能不能提供一个简单的 demo ~~

另外,你是直接使用 creator 的预览查看的么?

我怀疑有几个原因:

  • chrome 在特定环境里抽风了
  • 服务器返回的数据可能有问题
  • 音频资源问题
  • 引擎音频的缓存机制有漏洞

但是现在因为没办法重现你那里碰到的问题,无法确定到底是什么引起的哦。。。

多谢这么耐心的回答!我想可能是音乐文件的问题。换了几个wav格式的,有的就没有重复加载。。
顺便问下游戏中的背景音乐通常采用什么格式呢,有区别吗?

实质上没有啥特别大的区别,只是不同的浏览器支持的格式可能会有差异,所以才在引擎里面提供了多种格式的自动加载功能。

不同的格式大小、音质可能会有些许区别,这个就要看具体项目取舍嘞。