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

发布于 2024-12-11 13:15:45 字数 750 浏览 1 评论 0原文

<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秒开始播放这个声音。

我该怎么做呢?

<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>

I want to get the duration time of this sound, and convert it to seconds, then play this sound from a specific time.

For example, playing this sound from 40 seconds.

How can I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

骄傲 2024-12-18 13:15:45
$(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 。

$(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();
});

I'm trying to solve this problem but till now i can't. When I used

alert(parseInt(audio.duration - audio.currentTime, 20).toString()) 

it returns NAN .

梦屿孤独相伴 2024-12-18 13:15:45

正如之前所告诉您的,不要使用已弃用的标签,并尝试使用 HTML5 中的新 标签来执行此操作。

您必须调用audio.duration。检查 this 已经回答了同一网站的问题。尝试这样的事情:

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

祝你好运。

编辑:如果您想在 20 秒后开始,您应调用 audioElement.currentTime=20;,然后在您的位置调用 audioElement.play(); js $(document).ready(function()).询问是否还需要其他东西。

As you have been told previously, don't use deprecated tags, and try to use the fresh <audio> tag from HTML5 for doing that.

You'll have to call audio.duration. Check this already answered question from this same site. Try something like this:

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

Good luck.

Edited: If you want to start after, i.e., 20 seconds, you shall call to audioElement.currentTime=20; and then calling to audioElement.play(); at your js $(document).ready(function()). Ask if you need anything else.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文