HTML5视频获取currentTime不适用于媒体事件javascript addEventListener

Posted

技术标签:

【中文标题】HTML5视频获取currentTime不适用于媒体事件javascript addEventListener【英文标题】:HTML5 video get currentTime not working with media events javascript addEventListener 【发布时间】:2018-08-27 10:34:55 【问题描述】:

我试图在视频播放时显示当前持续时间(实时打印当前时间)。

我确实在Detect if html5 Video element is playing 上阅读了 Kurt Van den Branden 的回答,但无济于事

我最终想将当前时间值携带到 php 变量 $currenttime 以下是我当前的代码

<html> 
<head>  
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<title>Html5 media events</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head> 
<body >
<div id="output"></div>
<video id="myVideo"   controls>
    <source src="http://action.news/videos/Britney%20Spears%20-%20Overprotected%20(2009)%20Full%20HD%201080p_60%20fps.mp4" type="video/mp4">
</video>

<script>
    var media = document.getElementById('myVideo');

    // Playing event
    var isPlaying = function(e) 
    #$("#output").html("Playing event triggered");

    ;

      // durationchange
    var isdurationchange = function(e) 
        $("#output").html(vid.currentTime);


    ;

    media.addEventListener("playing", isPlaying, false);   
    media.addEventListener("durationchange", isdurationchange, true);    
</script>   
</body> 
</html>

【问题讨论】:

您定义了media,然后使用vid.currentTime...? 来自 w3 学校的 我需要将它传递给 html .. document.write("链接;); 【参考方案1】:

你应该可以这样携带,专业人士会帮助你语法

 document.write("<a href=/time.htm?currentTime='.media.addEventListener("timeupdate", isdurationchange, true).'>link</a>;); 

【讨论】:

谢谢,这正是我想要的,但它不会工作。【参考方案2】:

收听事件timeupdate 而不是durationchange (也更正您的拼写错误,正如@Jeto 在评论中提到的那样)

var media = document.getElementById('myVideo');

    // Playing event
    var isPlaying = function(e) 
    $("#output").html("Playing event triggered");

    ;

      // durationchange
    var isdurationchange = function(e) 
        $("#output").html(media.currentTime);
    ;

    media.addEventListener("playing", isPlaying, false);   
 //   media.addEventListener("durationchange", isdurationchange, true);   
 
  media.addEventListener("timeupdate", isdurationchange, true);                 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="output"></div>
<video id="myVideo"   controls>
    <source src="http://fiber.westnet.ca:81/videos/Britney%20Spears%20-%20Overprotected.mp4" type="video/mp4">
</video>

【讨论】:

谢谢 可以将当前时间转移到 php 变量中吗? 而不是毫秒时间显示视频中的格式是 H:M:S 我搜索 w3schools 到 no avial 我试图把它带到一个 url &ft> 但没有运气 感谢您的帮助,如果我的文件名中有 ?& 等,我如何通过 apache 访问它?我尝试将 htaccess 重写为 no avial scraaappy 是答案我是新手我该怎么做才能奖励他/你

以上是关于HTML5视频获取currentTime不适用于媒体事件javascript addEventListener的主要内容,如果未能解决你的问题,请参考以下文章

html5 视频在设置 currentTime 后等待 readystate == 4

HTML5 视频播放器不适用于 Twitter 视频

为啥在 Chrome 中设置 HTML5 视频元素的 currentTime 会重置时间?

在 HTML5 视频中设置 currentTime 问题

HTML5 视频不适用于 iPad 上的 jquery bxSlider 插件

HTML5 视频自动播放不适用于 slick.js