又被音频的api恶心到了

-----------202103026 更新.-------------------

默认 音频加载模式是 web Audio (在creator软件的资源管理器里 点击某音频 在音频属性里可看到)

这样的话… 你猜怎么着

cc.audioEngine.pause(this.music_id);
cc.audioEngine.resume(this.music_id);

像这样连着执行…
那么 就会 马上 ,立刻,now , 直接调用 setFinishCallback

所以怎么办呢?
所以把
音频加载模式 改成 DOM Audio

然后 问题就来了…
这时候
setCurrentTime 以后

就不调用 setFinishCallback 了

你来评评理…恶心不恶心

----------------------------原文------------------------
setCurrentTime 后

就不调用 setFinishCallback 了

恶心死了

2.4.4测试没这个问题

let soundId = cc.audioEngine.play(sound, false, 1);
cc.audioEngine.setFinishCallback(soundId, () => {
    cc.log("播放完毕了");//音频播放完毕后会打印
});
cc.audioEngine.setCurrentTime(soundId, 10);

怪我没说全…

默认 音频加载模式是 web Audio (在creator软件的资源管理器里 点击某音频 在音频属性里可看到)

这样的话… 你猜怎么着

cc.audioEngine.pause(this.music_id);
cc.audioEngine.resume(this.music_id);

像这样连着执行…
那么 就会 马上 ,立刻,now , 直接调用 setFinishCallback

所以怎么办呢?
所以把
音频加载模式 改成 DOM Audio

然后 问题就来了…
这时候
setCurrentTime 以后

就不调用 setFinishCallback 了

你来评评理…恶心不恶心

我觉得不恶心,不过是遇到坑而已,可以反馈给官方改。
webAudio和domAudio的区别(部分移动浏览器内,Audio 的回调缺失)

修改: [cocos2d/audio/CCAudio.js]
试试

直接改好像不管用呢?
是不是还得编译引擎什么的 ?

可以在0ms定时器内调用api解决,如果存在pause定时器则取消,最简单的方法

嗯,需要编译引擎

2.4.9还有这个问题