微信小游戏 ios 声音播放重复问题

  • Creator 版本:2.0.9

  • 目标平台: ios

  • 详细报错信息,包含调用堆栈:

  • 重现方式:声音资源都是放在服务器的,播放音效的时候都是先进行loadres然后进行播放,重现方式:未缓存的情况下加载播放音效1,播放正常,然后未缓存的情况下加载播放音效2,播放正常,然后我再次播放音效1,则声音播放出来的是音效2,

  • 之前哪个版本是正常的 :

  • 手机型号 :iphone7,iphone6,iphone5

这个问题只在ios微信小游戏上才有,android都是正常的,希望有人能够帮忙解决下。

调用了哪个接口?

        cc.loader.loadRes(url, cc.AudioClip, function (err, clip) {
            if (null == err) {
                cc.audioEngine.play(clip, false, this.sfxVolume);
            }
        }.bind(this));

我也遇到了这个问题,声音错乱,同款2.0.9,同款ios微信小游戏,安卓上未发现

如图如果我把这个注释掉就不会有这个问题,我看了一下微信官方api说明 saveFile,保存成功后tempFilePath路径将不可用,但是我调用loadres再次播放音效的时候,发现加载成功的clip里面的路径还是指向tempFilePath,导致播放音效错乱

我这边调的loadRes+cc.audioEngine.play 播放两个音效的情况下,表现正常。
我项目一直没有把资源放在远程服务器而是放在本地。
你们也是是放在本地的话会不会重复。
你们测试一下2.1.1跑这个问题,可能已经在这个版本上修复了。
https://forum.cocos.com/t/cocos-creator-v2-1-1-4-25-rc-2/72905

我的也是出现了音乐重复 问题 2.0.8

就是使用 远程加载 问题

放在本地是没问题的,测试过。 但是声音资源太大,没办法都放在本地。

你把你出现问题的资源通过邮件发给我。337031709@qq.com。

你好,这个跟声音资源没关系,我试了很多声音资源都是一样的。 我看了一下2.0.11版本的 发现wx-downloader.js改动很大,缓存那个地方用了copyFile,不再使用saveFile,应该是已经解决了这个问题,但是我的项目目前还用不了2.0.11的,因此我自己修改了一下2.0.9版本wx-downloader.js,把saveFile接口改成了copyFile,目前测试已经没这个问题了。

1赞

哦哦,那升级版本如果能解决的话就行。

我们2.0.9也出现了这个问题

我也遇到到播放背景音乐重叠的问题,用的是cc.audioEngine.playMusic,背景音乐都是放在远程的,一般切换后台再切回前台或者切换背景音乐时会遇到这个问题,切换前后台和切换背景音乐时都会先调用一下cc.audioEngine.stop,不是必现,我加了点日志看了一下,CCAudio里面play有时会多打印一次,不知道那个地方调用到了,一种情况是调用playMusic的时候打印了一次,成功之后我调用了一次stopAllEffects,此时CCAudio里面play打印了两次,不知道什么情况;另一种情况是我调用playMusic的时候打印了一次,然后调用了一次playEffect,此时CCAudio里面play打印了两次,一次应该是调用playEffect的时候打印的,另一次不知道怎么触发打印出来的

我用的是2.0.8版本,音乐资源是放在远程的,直接在脚本中挂载的audioclip进行播放的

还有一个问题就是音乐resume的问题,切换后台如果调用cc.audioEngine.pause之后,再切换前台调用cc.audioEngine.resume,很大的几率就没有音乐了,看日志切换后台的时候CCAudio里面pause调用了两次,一次是我们自己调用cc.audioEngine.pause,另一次引擎处理的?回到前台的时候引擎也自动调用了resume?切换后台不用pause切换前台不用resume的时候,CCAudio里面pause和resume也会各打印一次,切换前后台的时候引擎自己处理了这个吗?但是resume的时候很大的概率没有音效了,看日志resume是成功了的,状态变成了播放状态

你反馈的是哪个平台的问题?

https://forum.cocos.com/t/topic/77142
大佬看一下这段代码有没有问题

微信小游戏的

我刚刚测试了加载远程音频切换前后台暂停或者恢复播放都没问题,你能否提供一下出问题的手机型号和demo。