如我在 (省略)/project/assets/resources/audio 下有01.mp3,02.mp3,以及03.mp3三个音频文件
我创建两个audiosource组件,分别叫track1,track2,默认下track1的clip指向01.mp3,track2的clip指向02.mp3,
cc.log((省略).track1.clip);//"(省略)/project/assets/resources/audio/01.mp3"
cc.log((省略).track2.clip);//"(省略)/project/assets/resources/audio/02.mp3"
用button点击事件触发音频的重新加载和播放
//button.js
onLoad: function (){
this.node.on('mousedown', function (event) {
this._loadAudio();
this._play();
}, this);
},
重新加载:
//button.js
_loadAudio: function () {
(省略).track1.clip = "(省略)/project/assets/resources/audio/03.mp3";//从01.mp3变成02.mp3
(省略).track2.clip = "(省略)/project/assets/resources/audio/02.mp3";//02.mp3,没有改变
},
播放:
_play: function(){
(省略).track1.play();
(省略).track2.play();
},
点击button,此时只有track2发出了声音,track1没有声音
再次点击button,这次两个track都发出声音了…
这个问题只要一改变clip就会稳定出现
我尝试过这些方法:
- loadAudio后延时几秒再play,没有效果
- 多次调用_loadAudio或者_play,没有效果
- 在play之前stop一下,没有效果
- 多次play, stop,没有效果,依然要在下次按下button后track正常,这我很想不通…我复制了按按钮的过程啊,现在按一次按钮程序相当于执行两次,但是却和按两次按钮的情况不一样…太诡异了
但之前的项目里的确出现了这样的问题啊…真奇怪