HTML5播放音频每_ _秒数

Mic*_*rtz 0 jquery playback intervals html5-audio

我试图做的是有它,这样在页面加载时把它打highpitchsound.wav(或.MP3)的秒用户定义在alertbox在页面加载X量.

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

我以前用过jquery的间隔,混乱与HTML5音频这里几次,和那里,不知道如何将两个这种结合,并且也不知道我怎么会做一个自定义的alertbox 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>
Run Code Online (Sandbox Code Playgroud)

Mic*_*ets 5

理解

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

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

您可以这样做:

setInterval(function() { $('audio')[0].play(); },1000);
Run Code Online (Sandbox Code Playgroud)

打破这一点

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

  • 引用dom中的audio html对象,$('audio')然后在其中选择HTMLAudioElement要与之交互的对象($('audio')[0])

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

解

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

使用Javascript:

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

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

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