08110920
V2EX  ›  问与答

前端大神请进!如何用 js 控制视频不让其快进

  •  
  •   08110920 · Jul 19, 2020 · 3712 views
    This topic created in 2307 days ago, the information mentioned may be changed or developed.
    目前在弄一个微信公众号的学习网课功能,然后要求是需要禁止快进和回退。

    隐藏进度条的方法可能不适应所有手机。

    求前端大神 来解决一下 如何用 js 去鉴定视频是否快进或者回退。然后对其进行禁止或者返回视频原点。
    13 replies  •  2020-07-20 12:29:29 +08:00
    ciaoly
    ciaoly
    Jul 19, 2020 via Android
    1
    非大神,抛砖引玉。
    https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video

    h5 的 video 提供了几个事件回调可以监听进度条变动和播放时间变动,也许可以在后台开个计时器做时间比对。
    whypool
    whypool
    Jul 19, 2020
    2
    视频用 canvas 画出来,可以完美控制

    控制条的功能覆盖
    lizheming
    lizheming
    Jul 19, 2020
    3
    基本上就是记录当前播放的时间,ontimeupdate 的时候根据这个缓存的时间做对比,如果大于多少的时候则认为是快进,重新设置为缓存时间,否则就直接更新为缓存时间。
    08110920
    08110920
    OP
    Jul 19, 2020
    4
    @lizheming 可以留个联系方式,来弄弄吗?
    nuk
    nuk
    Jul 19, 2020
    5
    加个透明遮罩层。。点击只能播放 /暂停
    ysc3839
    ysc3839
    Jul 19, 2020
    6
    要求学习多长时间这种,建议后端直接记录开始学习的时间,然后看当前时间够不够,前端完全不用限制,这么做简单还没有明显漏洞。
    ThirdFlame
    ThirdFlame
    Jul 19, 2020
    7
    后台判定 如果该视频的学习时长小于视频文件时长,判定该学习未完成即可。 让快进 做无用功。
    如果仅仅是不允许自己调整进度的话,那这个方法无效。
    08110920
    08110920
    OP
    Jul 19, 2020
    8
    @nuk 放大全屏后 好像就不能这样了
    yuzo555
    yuzo555
    Jul 19, 2020 via Android
    9
    seeked 事件时判断时间是否超过缓存的最大时间,缓存的最大时间在 timeupdate 事件的时候记录。
    08110920
    08110920
    OP
    Jul 19, 2020
    10
    @yuzo555 可以留个联系方式,来弄弄吗? 付费的
    BreadKiller
    BreadKiller
    Jul 19, 2020
    11
    npe
    npe
    Jul 20, 2020 via iPhone
    12
    计时器....
    raaaaaar
    raaaaaar
    Jul 20, 2020 via Android
    13
    就是你把鬼子引导这里来的?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2368 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 12:51 · PVG 20:51 · LAX 04:51 · JFK 07:51
    ♥ Do have faith in what you're doing.