xhr.onload 内部,加粗的 n 永远等于 count ,可见,其下的第一个n!==count 是没有意义的。

来源:2-5 播放bug修复

v8xm

2017-08-12 19:51

xhr.onload = function () {

    //这个n 是直接读取初始化的count ,所以没有变化的可能。所以不需要判断。
   if (n !== count)return;
   ac.decodeAudioData(xhr.response,function (buffer) {
       console.log('ac.decodeAudioData', n)
       if (n !== count)return;

       // 播放获得的buffer
       var bufferSource = ac.createBufferSource();
       bufferSource.buffer = buffer;
       bufferSource.connect(gainNode);
       // bufferSource.connect(ac.destination);
       bufferSource[bufferSource.start?'start':'noteOn'](0);
       source =bufferSource;

   },function (err) {
       console.log(err)
   });

}

写回答 关注

1回答

  • 慕粉3899750
    2017-09-18 18:55:51

    这应该是为了防止切换的时候有重复的,多判断一次。

HTML5音乐可视化

利用webAudio和canvas可视化你的音乐,让你的音乐动起来

76716 学习 · 121 问题

查看课程

相似问题