**This function is in javascript:**
function quesfl(qsvalue) {
sngno = qsvalue + ".wav";
var audiophile = new Audio();
audiophile.src = sngno;
audiophile.play();
}
**html part:**
<input type="radio" name="qno" value="02" onClick="quesfl(this.value);">2
<input type="radio" name="qno" value="03" onClick="quesfl(this.value);">3
<input type="radio" name="qno" value="04" onClick="quesfl(this.value);">4
在上面的音频java脚本代码中,我有一个变量'sngno'用于不同的src。但是,当我改为不同的src时,所有的歌曲都在播放,但我只想要一首。当我的网页打开时,如果我重新加载页面,每次播放第一首选定的歌曲,但是当我为另一首歌曲选择其他按钮时,两者都会播放。请帮助。
答案 0 :(得分:0)
我成功使用了这个jquery声音库:https://code.google.com/p/jqueryjs/source/browse/trunk/plugins/sound/jquery.sound.js?r=5750
答案 1 :(得分:0)
得到了解决方案。
请尝试以下代码。
<html>
<head>
<script>
audiophile = new Audio();
function quesfl(qsvalue) {
sngno = qsvalue + ".wav";
audiophile.src = sngno;
audiophile.play();
}
</script>
</head>
<body>
<input type="radio" name="qno" value="02" onClick="quesfl(this.value);">2
<input type="radio" name="qno" value="03" onClick="quesfl(this.value);">3
<input type="radio" name="qno" value="04" onClick="quesfl(this.value);">4
</body>
</html>
这种情况正在发生,因为每次您选择一个不同的单选按钮创建一个新的Audio object
并播放,因此所有选定的音频文件都会播放 同时 即可。这是从面向对象编程的基本概念中解决的。
答案 2 :(得分:0)
您的Audio
变量位于处理函数内部,每次调用它时都会创建一个新变量。开始玩吧。因此,你最终会有多个,同时玩。
将变量移到之外,只创建一次。
var globalAudio = new Audio();
function playSong (songName) {
var songUrl = songName + ".wav";
globalAudio.src = songUrl;
globalAudio.play();
}
我还改进了你的功能和命名的命名。变量..希望这会有所帮助。