繁体   English   中英

想要播放音频,它应该在 10 秒后在 Html 和 javascript 中停止吗?

[英]want to play audio and it should be stop after 10 seconds inHtml and javascript?

我是 Html5 和 javascript 新手我想在打开 html 页面时播放音频剪辑,它应该在 10 秒后停止并显示音频播放成功的消息。

用于在 html5 中简单的音频播放,如下所示

<!DOCTYPE html>
<html>
<body>


<audio controls>
  <source src="kill_bill.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<script>
setInterval(function(), 10000);

$.each($('audio'), function () { this.stop(); alert('Audio Stop Successfully'); });



</script>

</body>
</html>

setTimeout 似乎更合适:

var audio = document.createElement("audio");
audio.src = "sound.mp3";

audio.addEventListener("canplaythrough", function () {
        setTimeout(function(){
            audio.pause();
            alert("Audio Stop Successfully");
        },
        10000);
}, false); 

例子

将计时器/计数器放在 JS 的负载上,因为它会在 10 秒内调用以下函数。

定时器setInterval(Call Below Function, 10000)

停止音频$.each($('audio'), function () { this.stop(); alert('Audio Stop Successfully'); });

试试这个 ::::

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TIMER</title>  
</head>
<body>


<audio id="aud" controls autoplay>
  <source src="test.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>


<script type="text/javascript">
 var myaud = document.getElementById("aud");
 var k = setInterval("pauseAud()", 10000);

 function playAud() {
     myaud.play();
 }

 function pauseAud() {
     myaud.pause();
     alert('Audio Stop Successfully');
     clearInterval(k); 
 } 
</script> 
</body>
</html>

首先要注意:iOS下不能自动播放; 因为苹果阻止它成为可能。

至于停止音频,我总是建议使用mediaelement库,它支持非 HTML5 浏览器,并有一个完整的界面来启动/停止音频播放。

<audio id="audio_killbill" muted controls onload="audiofor_10sec()">
    <source src="kill_bill.mp3.mp3"></source>  <!-- Webkit Browser -->
    <source src="kill_bill.mp3.ogg"></source>  <!-- Mozilla/Firefox -->
    Your browser isn't invited for super fun <code>audio</code> time.
</audio>

香草JS

function audiofor_10sec(){
     let audio = getElementById('audio_killbill');
     audio.muted = false; // New browser rule doesn't lets audio play automatically
     audio.play();         
     setTimeout(() => {
            audio.pause();
            audio.currentTime = 0; // Works as audio stop
     }, 10000);
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM