我的播放器可以播放 audio/video 文件的前 30 秒吗?

Is it possible for my player to play 30 first seconds of my audio/video file?

是否可以让音频播放器只播放文件的前 30 秒?

这只是我的播放器示例和音乐来源(稍后我会更改,以便从数据库中提取)。

<div class="col-md-4 player">
  <div class="audio-player">
    <audio id="audio-player"  controls="controls">
      <source src="media/Blue Browne.ogg" type="audio/ogg"></source>
      <source src="media/Blue Browne.mp3" type="audio/mpeg"></source>
      <source src="media/Georgia.ogg" type="audio/ogg"></source>
      <source src="media/Georgia.mp3" type="audio/mpeg"></source>
    </audio>
  </div>
  <!---->
  <script type="text/javascript">
    $(function(){
      $('#audio-player').mediaelementplayer({
        alwaysShowControls: true,
        features: ['playpause','progress','volume'],
        audioVolume: 'horizontal',
        iPadUseNativeControls: true,
        iPhoneUseNativeControls: true,
        AndroidUseNativeControls: true
      });
    });
  </script>
</div>

我不是 100% 确定这些事件名称是否正确,但这个底层代码应该可以工作。

var playTimeout;    

$("#audio-player").on("play", function(e) {
    playTimeout = setTimeout(function() {
        $("audio-player").pause();
        $("audio-player").setCurrentTime(0); // Restarts video
    }, 30000); // 30 seconds in ms
});


$("#audio-player").on("pause", function(e) {
    clearTimeout(playTimeout);
});

您可以为 timeupdate 事件添加事件处理程序。它将每隔一秒左右定期调用一次。在事件处理函数中,您可以检查当前播放器持续时间。如果是 30 秒或更长时间,您可以停止播放器。它将确保您的视频不会播放超过 30 秒。

查看 MediaElement 文档:https://github.com/mediaelement/mediaelement/blob/master/docs/api.md#events