单击按钮时,我尝试播放音频文件,但它不起作用,我的html代码为:
<html> <body> <div id="container"> <button id="play"> Play Music </button> </div> </body> </html>
我的JavaScript是:
$('document').ready(function () { $('#play').click(function () { var audio = {}; audio["walk"] = new Audio(); audio["walk"].src = "http://www.rangde.org/static/bell-ring-01.mp3" audio["walk"].addEventListener('load', function () { audio["walk"].play(); }); }); });
您可以使用<audio>或<object>或标签播放音频<embed>。延迟加载(需要时加载)如果声音很小,则声音是最好的方法。您可以动态创建音频元素,在加载音频元素时可以使用来启动.play()和暂停.pause()。
<audio>
<object>
<embed>
.play()
.pause()
我们将使用canplay事件来检测我们的文件已准备好播放。
canplay
.stop()音频元素没有任何功能。我们只能暂停它们。而且,当我们要从音频文件的开头开始时,请更改其.currentTime。我们将在示例中使用此行audioElement.currentTime = 0;。要实现此.stop()功能,我们首先暂停文件,然后重置其时间。
.stop()
.currentTime
audioElement.currentTime = 0;
我们可能想知道音频文件的长度和当前播放时间。我们已经在.currentTime上面学到了,要了解使用的长度.duration。
.duration
当currentTime等于其持续时间时,音频文件将停止播放。每当您使用时play(),它将从头开始。
play()
timeupdate
$(document).ready(function() { var audioElement = document.createElement('audio'); audioElement.setAttribute('src', 'http://www.soundjay.com/misc/sounds/bell-ringing-01.mp3'); audioElement.addEventListener('ended', function() { this.play(); }, false); audioElement.addEventListener("canplay",function(){ $("#length").text("Duration:" + audioElement.duration + " seconds"); $("#source").text("Source:" + audioElement.src); $("#status").text("Status: Ready to play").css("color","green"); }); audioElement.addEventListener("timeupdate",function(){ $("#currentTime").text("Current second:" + audioElement.currentTime); }); $('#play').click(function() { audioElement.play(); $("#status").text("Status: Playing"); }); $('#pause').click(function() { audioElement.pause(); $("#status").text("Status: Paused"); }); $('#restart').click(function() { audioElement.currentTime = 0; }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>