0

我想在收到消息时播放声音,所以我搜索并找到了很多解决方案,但我找到的最简单的解决方案是

  <script>  
       $('body').append('<embed src="beep.mp3" autostart="true" hidden="true">');
  </script>

但问题是它不能在 Godzilla/IE 中播放声音并在 Chrome 中播放。有没有办法在不添加任何额外插件(Mozilla/JQuery)的情况下解决这个问题。chrome 中还有一个问题,当声音播放时,主窗口的滚动条会从它的位置移动。我的主要问题是播放声音,所以它的优先级是第一位的。任何人都知道它的解决方案,然后请与我们分享,谢谢。

4

4 回答 4

8

试试这个,我认为这是任何人见过的最简单的解决方案......:)你只做一件事你应该将你的转换beep.mp3beep.wav 因为有些浏览器不理解 mp3 所以你应该将它转换为 wav 然后只使用这个3行代码

 <script>  
     var aSound = document.createElement('audio');
     aSound.setAttribute('src', 'beep.wav');
     aSound.play();
 </script>  

这将在页面打开/重新加载时播放声音,您可以根据需要进行设置,并且还需要 js 1.6 或更高版本。希望这能解决你的两个问题。

于 2013-03-19T11:49:34.260 回答
2

如果您不想创建多个音频元素,可以尝试将currentTime属性设置为 0,以便音频文件重新开始。

<script>
    function play() {
        var sound = document.getElementById("audio");
        sound.currentTime = 0;
        sound.play();
    }
</script>

<audio src="success.wav" autostart="false" width="0" height="0" id="audio" />
于 2013-03-18T17:59:21.330 回答
1

打开此链接:Play Sound without browser plugin

在此链接中,您可以获得解决问题的代码。第二个问题可以通过删除来解决$('body')

$('body').append('<embed src="beep.mp3" autostart="true" hidden="true">');

并设置任何div

于 2013-03-18T17:51:46.997 回答
0

尝试以下(未测试)

将声音文件准备好嵌入代码中并使用javascript函数播放它...

<script>
    function PlaySound(soundObj) {
        var sound = document.getElementById(soundObj);
        sound.Play();
    }
</script>

<embed src="success.wav" autostart="false" width="0" height="0" id="sound1" enablejavascript="true">
于 2013-03-18T17:51:43.760 回答