【问题标题】:stop loading/buffering the video with projekktor/jquery/javascript停止使用 projekktor/jquery/javascript 加载/缓冲视频
【发布时间】:2015-05-07 10:04:43
【问题描述】:

在我的网站上,我希望能够停止视频加载。我可以用jquery吗?我有什么选择?

需要的是我的网站有很多视频,当互联网连接受限的用户想要观看一小时的视频然后决定退出视频页面(仅执行 ajax)时,视频仍会继续加载,所以如果对两个或三个视频执行此操作,他的浏览器将死机。所以除非他刷新页面,否则视频加载会一直持续到完成。

鉴于我的网站基于 apache2、symfony2/php5、projekktor/jquery

【问题讨论】:

  • 你用什么来播放你的视频? Youtube、JWPlayer、Brightcove?通常,这些播放器会提供一个 JavaScript API,您可以与之交谈来控制视频
  • 哦,我正在使用 projekktor projekktor.com
  • 有时您可以指定是否希望视频自动播放,您可能需要关闭自动播放
  • 是的,我知道我可以通过 projekktor 做到这一点,但这不是我的客户需要做的事情

标签: javascript jquery ajax apache2 projekktor


【解决方案1】:

检查这个答案 - HTML5 Video: Force abort of buffering

显然删除 src 属性的值会导致视频停止加载/缓冲

OP 还建议先停止视频,以防止浏览器控制台出现任何错误

【讨论】:

  • 我认为唯一可以停止加载视频的方法是破坏播放器元素,然后在某个提示点重新插入?
  • 这篇文章可能对stackoverflow.com/questions/4071872/…有帮助,我相信改变元素的src会导致它停止加载?
  • 其实我已经尝试删除HTML标签<video>,但视频继续加载(很难100%确定并保证良好的网速)
  • 你是对的,删除 src 内容会导致它停止加载/缓冲,但如果我不想看到 JavaScript 错误,我必须先停止播放器安慰。非常感谢,您应该添加一个答案以便我接受它:)
【解决方案2】:

一种方法是将页面拆分为多个单个视频页面。仍然没有彻底解决问题,但至少用户的资源得到了较小程度的利用。

我的另一个想法是当用户停止视频时将视频的源设置为空字符串。据我在线阅读,它释放了空间并将视频留空。如果用户想再次播放视频,还应该有一个按钮来将源设置为原始路径。

第二个想法引发了一些小问题,例如从用户停止视频的那一刻起就无法继续播放视频,但我认为这仍然比占用用户的连接来加载视频要好。

【讨论】:

    【解决方案3】:

    为什么不使用 API 播放和暂停视频:API

    player.setPlayPause():Boolean   
    

    设置播放器在播放时暂停,反之亦然。

    或其中之一:

    player.setPlay():Boolean
    

    设置播放器播放。如果它已经在播放,则不适用任何更改。

    player.setPause():Boolean
    

    设置播放器暂停。如果它已经暂停,则不适用任何更改。

    player.setStop():Boolean
    

    设置播放器停止。将导致播放组件立即停止并显示当前项目的海报图像。此外,开始按钮也出现了。

    【讨论】:

    • projekktors的API方法都不能让视频加载停止
    • 然后使用 player.reset() 或 player.selfDestruct() 。或者只是更改自动播放选项。这不应该阻止它预加载吗?
    • 我不是要阻止预加载,而是要在用户退出后停止视频缓冲/加载。抱歉,如果我的帖子标题具有误导性
    • 我认为通过 api 执行此操作的唯一方法是销毁实例并重新启动它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 2016-05-18
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多