亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

完成音頻文件后調用函數

完成音頻文件后調用函數

忽然笑 2022-10-21 14:24:09
我在我的網絡應用程序中添加了一個音樂音頻播放器。完成音頻后,我需要調用一個函數。但問題是沒有指定音頻長度。例如,10 秒音頻完成然后調用一個函數,7 秒音頻然后調用一個函數。這意味著一旦音頻完成,然后調用函數來發生事件。不應指定音頻長度。這是我的音頻播放器代碼<audio controls="controls" controlsList="nodownload" onloadeddata="var audioPlayer = this; setTimeout(function() { audioPlayer.play(); }, 4000)"><source src="'.str_replace("\'","'", $que=$row->question).'" type="audio/mp3" id="my_audio" loop="loop"/></audio>這是我的java腳本代碼setTimeout(  function()   {    console.log('10 Seconds done')  }, 10000);在這里,消息中的代碼在 10 秒后通過,但我需要在完成音頻后通過消息
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

你可以用ended事件來做到這一點。ended所以你應該只在你想要的元素上監聽事件,如下所示:

const audio = document.querySelector("audio");


audio.addEventListener('ended', (event) => {

  console.log('audio has been ended');

});

<audio controls src="https://interactive-examples.mdn.mozilla.net/media/examples/t-rex-roar.mp3">

  Your browser does not support the <code>audio</code> element.

</audio>



查看完整回答
反對 回復 2022-10-21
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

使用該onended功能。


<audio controls="controls" controlsList="nodownload" onended="console.log('ended!');">

  <source src="///file-examples.com/wp-content/uploads/2017/11/file_example_MP3_700KB.mp3" type="audio/mp3" id="my_audio">

</audio>


你也可以試試:


$('#my_audio').parent().play().then(() => {

  const checkAudio = () => {

    if ($('#my_audio').parent()[0].ended) {

      console.log('ended!');

    } else {

      setTimeout(checkAudio, 100);

    };

  };

});

    <audio controls="controls" controlsList="nodownload">

      <source src="///file-examples.com/wp-content/uploads/2017/11/file_example_MP3_700KB.mp3" type="audio/mp3" id="my_audio">

    </audio>


查看完整回答
反對 回復 2022-10-21
  • 2 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號