3

当我单击或将鼠标悬停在我的播放按钮上时,我正在尝试播放声音?这是我到目前为止所拥有的。我有一个按钮,如果我将鼠标悬停在它上面它会改变图像,现在我也希望它播放 mp3。

play a {
    position:relative;
    float:left;
    width:155px;
    height:134px;
    background-image:url(../images/Goodsound_PLAY_UP.png);
}
play a:hover {
    background-image:url(../images/Goodsound_PLAY_P.png);

I want to play a sound here

}

很抱歉问了这么简单的问题。我是一个 html 菜鸟,从上周开始。

4

4 回答 4

3

在 HTML 中播放声音并不容易。事实上,直到 html5audio才出现!即使不是所有地方都支持 html5,但现在在浏览器中播放声音会更容易一些。

我的建议是使用mediaelementJS,这是一个 javascript 库,它填补了旧浏览器和 html5 音频(和视频)规范之间的空白。不要使用播放器(带有完整的控制栏),而只使用 mediaelementjs 组件。要使用它,只需在页面头部包含库

<script src="js/libs/mediaelement.min.js"></script>

首先,您必须在 html 中放置一个音频标签:

<audio id="mySound" src="my_audio_file.mp3" type="audio/mpeg"></audio>

然后,调用 Mediaelement 库

var mySound = new MediaElement('mySound');

最后,在您的点击或结束事件上播放它(这里我使用 jQuery)

$('.play a').mouseover(function(){ mySound.play() });
于 2012-06-24T19:46:36.673 回答
2

你可以使用这个:

JavaScript

var audio = $("#audio");
$("play a").mouseenter( function() {
    audio.play();
}

whereaudio是一个<audio>元素,并且play a是悬停的元素。

于 2012-06-24T19:45:10.220 回答
1

使用jQuery

$("object_element_id") .on ('mouseover', function(e){
    // audio play code here
});

$("object_element_id") .on ('mouseout', function(e){
    // audio pause/stop code here
});

为什么是“”?想象一下“AJAX 页面刷新”。删除它:

$("object_element_id") .off ('mouseenter');

为什么是“ mouseover ”和“ mouseout ”?也许您想为每个状态添加额外的功能,例如更改按钮的 IMG SRC,制作一些效果......随意。为什么是“ e ”元素?E 元素是触发事件的对象——图像、链接等。用它做所有事情(或者只是删除它)。

对于音频播放,您可以使用 HTML5 标签。这很简单,并且受到主要浏览器的支持(你没有问“retrocompatibility”)你可以缓存元素(如 Mateusz 的回答)并使用它:

var $audio = $("#audio_element_id"); //for cache the element
$audio.setAttribute('src', url_link); //for change the URL file (ir can be MP3, OGG...)

$audio.play(); //for the mouseover
$audio.stop(); //for the mouseout

然后,最后的代码:

var $audio = $("audio_element"); //caching

$("object_element_id") .on ('mouseover', function(e){
    $audio.play();
});

$("object_element_id") .on ('mouseout', function(e){
    $audio.stop();
});
于 2013-11-13T12:48:05.140 回答
0

您可能还会发现此代码很有用(我认为它相当现代,因此它可能不适用于旧浏览器;我将它与 Firefox 32 一起使用)。

<audio controls> <source src="song.mp3" type="audio/mpeg"> </audio>

视频也有类似的:

<video width="320" height="240" controls> <source src="clip.mp4" type="video/mp4"> </video>
于 2014-10-07T17:54:42.170 回答