我有这个功能用网络音频API播放音乐:
function playMusic(){
if(countPre<count ){
audio0.play();
audio0.src = '0.mp3';
audio0.controls = true;
audio0.autoplay = true;
audio0.loop = true;
source = context.createBufferSource();
source.connect(analyser);
analyser.connect(context.destination);
}
else{audio0.pause();}
}
但是,count和countPre的值是在每秒运行10次的循环中生成的。
我必须将函数playMusic 放在循环中才能更新值。
问题出现了:
我每秒拨打playMusic 10次!每次,音乐恢复。
我不希望它恢复,只要播放条件匹配,我希望它连续播放 。
那有什么解决方案吗?
答案 0 :(得分:0)
你必须检查音乐是否已经在你的状态下播放。
不要认为这是一种音频方法。 您可以通过多种方式完成此操作,例如:
function playMusic(){
if(countPre<count && !this.is_playing ){
this.is_playing = true;
audio0.play();
audio0.src = '0.mp3';
audio0.controls = true;
audio0.autoplay = true;
audio0.loop = true;
source = context.createBufferSource();
source.connect(analyser);
analyser.connect(context.destination);
}
else{audio0.pause();
this.is_playing = false}
}