如何在jQuery中获取对象标签的持续时间,并在特定时间播放视频

How to get the duration time of object tag in jQuery and play video in specific time?

本文关键字:播放 视频 持续时间 定时间 标签 jQuery 获取 取对象      更新时间:2023-09-26
<div id="sound" >
  <OBJECT  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="0" HEIGHT="0" id="Yourfilename" ALIGN="">
    <PARAM NAME=movie VALUE="sample.swf"> 
    <PARAM NAME=quality VALUE=high>
    <PARAM NAME=bgcolor VALUE=#333399> 
    <EMBED src="sample.swf" quality=high bgcolor=#333399 WIDTH="0" HEIGHT="0" NAME="Yourfilename" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
    </EMBED> 
  </OBJECT> 
</div>

我想获得这个声音的持续时间,并将其转换为秒,然后从特定的时间播放这个声音。

例如,从40秒开始播放这个声音

我该怎么做?

$(document).ready(function(){
  var audio = $('audio');
  $(audio).bind('timeupdate', function() {
    parseInt(audio.duration - audio.currentTime, 20).toString();
    position = (audio.currentTime / audio.duration) * 100;
  });
audio.play();
});
我正在努力解决这个问题,但是到现在我还不能。当我使用
alert(parseInt(audio.duration - audio.currentTime, 20).toString()) 

它返回NAN

正如你之前被告知的,不要使用弃用的标签,并尝试使用来自HTML5的新<audio>标签。

你得打电话给audio.duration。检查这个已经回答过的问题,来自同一个网站。试试这样做:

$(audio).bind('timeupdate', function() {
...
parseInt(audio.duration - audio.currentTime, 10),
...
position = (audio.currentTime / audio.duration) * 100,

好运。

编辑:如果你想在20秒后开始,你应该调用audioElement.currentTime=20;,然后在你的js $(document).ready(function())调用audioElement.play();