当我点击或将鼠标悬停在我的播放按钮上时,我正试图播放声音?这是我到目前为止所拥有的。我有一个按钮,如果我将鼠标悬停在它上面它会改变图像,现在我也想让它播放一个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 noob,上周开始。
答案 0 :(得分:3)
用HTML播放声音并不容易。事实上,直到html5 audio
出现之前!即使html5在任何地方都不受支持,现在在浏览器中播放声音会更容易一些。
我的建议是使用mediaelementJS,一个填补旧浏览器和html5音频(和视频)规范之间差距的JavaScript库。不要使用播放器(带有完整控制栏),但只使用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() });
答案 1 :(得分:2)
您可以使用:
<强>的JavaScript 强>
var audio = $("#audio");
$("play a").mouseenter( function() {
audio.play();
}
其中audio
是<audio>
元素,而play a
是悬停的元素。
答案 2 :(得分: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
});
为什么“ on ”?想象一下“AJAX页面刷新”。删除它:
$("object_element_id") .off ('mouseenter');
为什么“鼠标悬停”和“ 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();
});
答案 3 :(得分: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>