1
**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 脚本代码中,我有一个用于不同 src 的变量“sngno”。但是,当我更改为不同的 src 时,所有歌曲都在播放,但我只想要一首。当我的网页打开时,如果我重新加载页面,每次播放第一首选定的歌曲时,但是当我为另一首歌曲选择其他按钮时,两者都会播放。请帮忙。

4

3 回答 3

0

您的Audio变量位于处理函数中,每次调用它时,您都会创建一个新变量并开始播放。因此,您最终会同时播放多个。

将变量移到外面,只创建一次。

var globalAudio = new Audio();

function playSong (songName) { 
    var songUrl = songName + ".wav";
    globalAudio.src = songUrl;
    globalAudio.play();
}

我还改进了函数和变量的命名。希望这会有所帮助。

于 2013-09-26T11:02:15.387 回答
0

我成功使用了这个 jquery 声音库:https ://code.google.com/p/jqueryjs/source/browse/trunk/plugins/sound/jquery.sound.js?r=5750

于 2013-09-26T10:32:23.530 回答
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同时播放。这从面向对象编程的基本概念中得到了解决。

于 2013-09-26T10:54:05.150 回答