如何知道HTMLMediaElement何时完成

时间:2018-05-17 09:24:36

标签: javascript

在javascript中,我正在播放这样的声音:

var mySound = new Audio('/my-url');
mySound.play();

有没有办法知道什么时候玩完?我见过一个ended属性,但我更喜欢一个事件,一个Promise,或类似的东西。

由于

1 个答案:

答案 0 :(得分:1)

通过使用下面的HTMLMediaElement,你可以使用罚款媒体是否已经完成播放

var obj = document.createElement('video');
console.log(obj.ended);

此处HTMLMediaElement.ended返回布尔值,说明媒体是否已完成(TRUE)(FALSE)。

但是,您想要另一种处理此类事件的方法。因此,您可以使用如下所示的jquery事件:

 <script>
  $(document).ready(function(){
    $('video').on('ended',function(){
      console.log('Video has ended!');
    });
  });
</script>

没有jquery:

<script>
  document.getElementById('video').addEventListener('ended',function(){
    console.log('Video has ended!');
  }, false);
</script>