我正在尝试使用vue.js中的for循环播放音频文件。我的代码如下所示
for(var i = this.start; i < this.end; i++) {
var audio = new Audio('some value');
audio.play();
if(audio.ended == true) {
//go for another iteration
}
}
条件为真后,我想再进行一次迭代。其实我想一个接一个地播放音频文件。我该怎么做?
答案 0 :(得分:0)
您可能正在尝试执行以下操作:
function audioPlayer(iteration = this.start) { // iteration variable with default parameter
if (iteration < this.end) {
let audio = new Audio('some value');
audio.play();
if(audio.ended == true) {
//go for another iteration
this.audioPlayer(iteration + 1);
}
} else {
return "end is reached";
}
}
在这种情况下,您可以使用ES6的default parameters
。 也,如果您使用default parameters
,则不必更改任何现有代码(由于函数签名未更改,因此从该位置调用了此函数)。由于我不知道您的确切代码逻辑,因此我无法为您提供代码帮助。但是,我希望这会为您指明正确的方向。如果您仍然遇到任何问题,请告诉我:)
答案 1 :(得分:0)
您是否尝试过重新分配我?
audio.currentTime = 0
var audio = null;
var replayed = false;
for(var i = this.start; i < this.end; i++) {
if( "undefined" == typeof audio.ended || replayed )
audio = new Audio('some value');
replayed = false;
}
audio.play();
if(audio.ended == true) {
audio.currentTime = 0;
audio.play();
replayed = true;
} else {
--i;
}
}
或者您可以将currentTime重新分配为0。
<view-router update-document-title testing>
<ehr-welcome-page-view pattern="/"></ehr-welcome-page-view>
<ehr-router-otherpattern="/other/*"></ehr-router-emis>
</view-router>
<footer>
<div class="footer-content-wrapper center-content border-right">
<a href="http://www.mypage.co.uk/" target="_blank">
<img src="./images/my-logotype.png" alt="MyLogotype">
</a>
</div>
<p>Some text</p>
</div>
</footer>