0

好的,所以我已经研究了几个小时,此时我可能只是让自己更加困惑。;)

我在这里阅读了这个问题的答案:如何在点击网页时播放随机声音?

我之前还阅读了该作者最初引用的源代码。

我在我的 Wordpress 网站的 header.php 文件的标签之间添加了这段代码:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
function playSounds() {
  var sounds = new Array(
    "http://www.faenathara.com/laughs/Natharalaugh1.wav",
    "http://www.faenathara.com/laughs/Natharalaugh2.wav",
    "http://www.faenathara.com/laughs/Natharalaugh3.wav",
    "http://www.faenathara.com/laughs/Natharalaugh4.wav"
   );

$("#element").html("<embed src=\""+sounds[Math.floor(Math.random()*(sounds.length+1))]+"\" hidden=\"true\" autostart=\"true\" />");
}
</script>

然后我将它添加到我的身体标签中:

onload="javascript:playSound()"

这在我的身体标签之间:

<div id="element">
<button onclick="playSound()">LAUGH</button>
</div>

我知道我错过了一些非常明显的东西,但我想我已经看这个太久了,看不到它是什么。帮助?

4

2 回答 2

0

如果您要在网页上使用声音 - 那么我真的建议您使用Soundmanager库。它肯定会消除在页面上使用声音的所有痛苦。

然后在按钮单击时添加您的声音将非常容易!

于 2012-08-25T10:17:56.850 回答
0

编辑:我已经修复了函数调用,并从中删除了 + 1,因为它导致有时你得到索引 4,它在你的数组中不存在并且导致 div 有一个undefined src属性。我还将按钮放在 div 之外,因为它被替换为embed标签。请在您的代码中复制此示例并包含相同DOCTYPE内容并查看它是否有效:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    <script>
        function playSounds() {
            var sounds = new Array(
    "http://www.faenathara.com/laughs/Natharalaugh1.wav",
    "http://www.faenathara.com/laughs/Natharalaugh2.wav",
    "http://www.faenathara.com/laughs/Natharalaugh3.wav",
    "http://www.faenathara.com/laughs/Natharalaugh4.wav"
   );
            var index = Math.floor(Math.random() * (sounds.length));
            $("#element").html("<embed src=\"" + sounds[index] + "\" hidden=\"true\" autostart=\"true\" />");
        }
    </script>
    <title></title>
</head>
<body onload="javascript:playSounds()">
<button onclick="playSounds()">
            LAUGH</button>
    <div id="element">

    </div>
</body>
</html>

这在 Chrome、Firefox 和 IE9 中对我来说完全没问题。

汉莱特。

于 2012-08-25T10:30:56.693 回答