使用 Javascript 播放声音通知?

IT技术 javascript jquery audio
2021-02-02 05:51:48

我该怎么做,所以每当用户单击链接时,我们都会播放声音?在这里使用 javascript 和 jquery。

6个回答

使用这个插件:https : //github.com/admsev/jquery-play-sound

$.playSound('http://example.org/sound.mp3');
@hakarune:是的,只需从源中删除“.mp3”结尾
2021-03-14 05:51:48
有没有办法让它拉出实际链接的网址?
2021-03-18 05:51:48
播放声音,如果浏览器处于非活动状态或最小化用户。希望能帮助某人。
2021-03-25 05:51:48

<audio>在页面上放置一个元素。
获取您的音频元素并调用该play()方法:

document.getElementById('yourAudioTag').play();

看看这个例子:http : //www.storiesinflight.com/html5/audio.html

本网站揭示的其他一些很酷的事情可以做,比如load()pause()和音频元素的一些其他属性。

何时播放此音频元素由您决定。如果您愿意,请阅读按钮的文本并将其与“否”进行比较。

或者

http://www.schillmania.com/projects/soundmanager2/

SoundManager 2 提供了一个易于使用的 API,允许在任何现代浏览器中播放声音,包括 IE 6+。如果浏览器不支持 HTML5,则可以从 Flash 获得帮助。如果你想要严格的 HTML5 并且没有 flash,有一个设置,preferFlash=false

它在 iPad、iPhone (iOS4) 和其他支持 HTML5 的设备 + 浏览器上支持 100% 无 Flash 音频

使用非常简单:

<script src="soundmanager2.js"></script>
<script>
// where to find flash SWFs, if needed...
soundManager.url = '/path/to/swf-files/';

soundManager.onready(function() {
    soundManager.createSound({
        id: 'mySound',
        url: '/path/to/an.mp3'
    });

    // ...and play it
    soundManager.play('mySound');
});

这是它的实际演示:http : //www.schillmania.com/projects/soundmanager2/demo/christmas-lights/

找到了类似的东西:

//javascript:
function playSound( url ){   
  document.getElementById("sound").innerHTML="<embed src='"+url+"' hidden=true autostart=true loop=false>";
} 
mousedown 事件后 1 秒是很长时间。太长。
2021-03-22 05:51:48
此外,您可能会以某种方式预加载它以消除延迟。
2021-03-28 05:51:48
延迟来自 DOM 解析,然后加载文件并启动它。如果您预先加载它,那么您可以在需要时启动它
2021-03-29 05:51:48
@Codeglot 取决于应用程序。1秒满足我的要求。
2021-04-07 05:51:48
这是要慢。玩windows浏览器需要将近一秒
2021-04-12 05:51:48

使用 html5 音频标签和 jquery:

// appending HTML5 Audio Tag in HTML Body
$('<audio id="chatAudio">
    <source src="notify.ogg" type="audio/ogg">
    <source src="notify.mp3" type="audio/mpeg">
</audio>').appendTo('body');

// play sound
$('#chatAudio')[0].play();

代码来自这里

在我的实现中,我将音频嵌入直接添加到 HTML 中,而无需 jquery 附加。

仅供参考,我正在 ajax 函数(在页面加载时运行)的成功处理程序上播放声音,并收到此错误: Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first,Chrome Version 70.0.3538.102 (Official Build) (64-bit)...似乎是这里的解决方案:stackoverflow.com/a/52821721
2021-04-08 05:51:48