音频需要在每个正确和错误的答案上播放。
// Span "correct!" or "wrong!"
if(isRightAnswer) {
$parent.find('div.wpvq-explaination div.wpvq-true').show();
$('#audio1').get(0).play();
} else {
$parent.find('div.wpvq-explaination div.wpvq-false').show();
$('#audio2').get(0).play();
}
我有两个音频文件,一个用于true,另一个用于false。当它是真或假时,需要一直播放音频。现在它只处理前1-2个答案。
<audio id="audio1" src="http://f5361a5c08a4c03f7c6f-acbeb9602bd0a56bf9c1a6bed3d8280b.r27.cf2.rackcdn.com/RightSound2%202.mp3" ></audio>
<audio id="audio2" src="http://f5361a5c08a4c03f7c6f-acbeb9602bd0a56bf9c1a6bed3d8280b.r27.cf2.rackcdn.com/wrongSound2.mp3" ></audio>
这是有效的,但并不重复每一个真假。立即工作。
答案 0 :(得分:0)
你遇到的问题是,一旦声音播放,轨道的位置就不会返回到开始状态。因此,再次呼叫play()
无效,因为音频位于音轨的末尾。
要强制执行此操作,请在致电currentTime = 0
之前设置play()
:
var correctAudio = $('#audio1').get(0);
$('#right-answer').click(function() {
correctAudio.currentTime = 0;
correctAudio.play();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<audio id="audio1" src="http://f5361a5c08a4c03f7c6f-acbeb9602bd0a56bf9c1a6bed3d8280b.r27.cf2.rackcdn.com/RightSound2%202.mp3"></audio>
<button id="right-answer">Right answer</button>