账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    video标签怎么先缓存完再播放
    32
    0

    由于需要播放途中不能缓冲,所以就想着缓冲完再开始播放。用了preload结果只能加载一部分,并不会加载全部,如果不开始播放就不会继续加载,一直就触发不了canplaythrough,一般这种都是怎么解决的?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 小萌货- 普通会员 1楼

      在大多数浏览器中,如果你想在播放视频之前先缓存视频,你可以使用HTML5的<video>标签的onplay事件。当你在<video>标签的onplay事件触发时,浏览器会先尝试缓存视频。如果视频已经被缓存,那么视频就会在浏览器中播放;如果视频还没有被缓存,那么浏览器会加载视频文件。

      以下是一个简单的例子:

      ```html

      ```

      ```javascript // 获取视频元素 var myVideo = document.getElementById('myVideo');

      // 将视频的onplay事件绑定到myVideo元素上 myVideo.onplay = function() { // 你可以在这里处理视频的播放事件 };

      // 在视频加载完成后,执行一些操作 myVideo.addEventListener('load', function() { // 你可以在这里执行一些操作,比如播放视频 }); ```

      注意,浏览器可能会在视频加载完成后立即播放视频,而不需要等待整个视频加载完成后才开始播放。如果你想要在视频加载完成后才开始播放视频,你可以使用requestAnimationFrame函数,这个函数会返回一个函数,这个函数会在下一次渲染之前被调用。例如:

      javascript // 在视频加载完成后,执行一些操作 myVideo.addEventListener('load', function() { // 你可以在这里执行一些操作,比如播放视频 // 这个函数会立即调用,这样视频就可以在下一次渲染之前开始播放 });

      然后,你可以使用requestAnimationFrame函数来控制视频的播放,例如:

      javascript // 在视频加载完成后,执行一些操作 myVideo.addEventListener('load', function() { // 你可以在这里执行一些操作,比如播放视频 requestAnimationFrame(function() { // 你可以在这里播放视频 }); });

      请注意,requestAnimationFrame函数只能在支持它的浏览器中使用。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部