HTML5播放音频每_ _秒数

时间:2012-08-14 06:01:13

标签: jquery playback html5-audio intervals

我要做的就是让它在页面加载时播放highpitchsound.wav(或.mp3),持续x秒,用户在页面加载时在警告框中定义。

在警告框中有一个文本框和一个“确认”按钮。默认文本为5表示5秒,或5000表示5000毫秒。

之前我曾经使用jquery的间隔,在html5中几次与音频混淆,并且在那里,不知道如何将这两者结合起来,也不知道我如何制作自定义警报器onload

<html>
<head>
<title>Audio Play Interval</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {

});
</script>
</head>
<body>
    <audio autoplay="true">
        <source src="sounds/highpitchsound.mp3" type="audio/mpeg" />
        <source src="sounds/highpitchsound.wav" type="audio/wav" />
        <source src="sounds/highpitchsound.ogg" type="audio/ogg" />
        Your browser does not support the audio element.
    </audio>
</body>
</html>

1 个答案:

答案 0 :(得分:5)

了解

您可以通过将音频元素专门用作对象来实现此目的。因为jquery不扩展HTMLAudioElement,你必须专门引用jquery对象中音频元素的第一条记录。

然后,您可以简单地引用任何功能,例如.play().pause().load()

你可以这样做:

setInterval(function() { $('audio')[0].play(); },1000);

打破这个

  • 我们使用setInterval(a(),b)每隔a()毫秒量运行函数b

  • 引用dom $('audio')中的音频html对象,然后选择其中的HTMLAudioElement对象与其进行交互($('audio')[0]

  • 然后我们可以简单地使用其中的任何功能(即.play()

解决方案

现在,为了达到你想要的效果,你可以做到这一点,

Javascript:

startplaying(parseInt(prompt('in milliseconds, set an interval!')));

function startplaying(time) {
    var run = setInterval(function() { $('audio')[0].play(); }, time);
}

这首先提示用户一次写入,然后用用户设定的时间执行该功能,并进行验证。