jQuery:在 mouseleave 上停止音频

标签 jquery audio

我使用以下脚本在有人悬停在 div 上时播放声音。

$(document).ready(function(){
 var birdaudio = birdhover.find('audio')[0];    

 $('.sound').mouseenter(function(){ birdaudio.play(); });
 $('.sound').mouseleave(function(){ birdaudio.stop(); });
});

它确实有效,但音频会继续播放直到声音结束,即使不再悬停也是如此。我可以做些什么来防止这种情况发生吗?我不希望每当您“鼠标离开”div 时音频就会停止。

希望得到帮助!

最佳答案

HTML5 媒体元素没有 .stop()。您必须改为对该元素调用 pause()

为了完全复制停止的功能(停止音频并将其播放位置设置为最开始),您可以在 pause() 调用之后使用 birdaudio .currentTime = 0.

关于jQuery:在 mouseleave 上停止音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740087/

相关文章:

jquery - 使用 javascript 模数通过 for 循环遍历文本 slider

python - 通过删除背景音乐来隔离人声

audio - ffmpeg - 如何从输入->输出中传递所有流音频/tmcd等

javascript - 如何输出 body 标签上的类

jquery - KendoUI 网格选择行选择上的复选框,反之亦然

javascript - 如何使用 Phonegap 和 javascript 在 iPhone 上隐藏和显示键盘

android - 修改手机麦克风音频缓冲区,然后再将其发送给 Android 上的调用接收者?

javascript - AJAX - Javascript 数组到 php

c# - NAudio WasapiLoopbackCapture ComException(0x88890003)

android - 在Android设备上使用Angular 7播放音频