javascript - 在angularjs项目中播放视频,使用video.js编写进度条打点插件,无法获取视频已成功加载事件(在线等)

查看:347
本文介绍了javascript - 在angularjs项目中播放视频,使用video.js编写进度条打点插件,无法获取视频已成功加载事件(在线等)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

需要给视频播放做进度条打点的功能,如下图:

视频播放使用video.js控件,整个项目环境使用angularjs搭建。
打点功能使用是为video.js扩展了一个插件,本身显示没有问题。

现在的问题是在页面打开或刷新时,由于视频加载速度比较慢,两个点的显示很容易出现在视频进度条初始化之前,会产生这样的显示效果:

controller代码如下。

        var video = videojs('player', {
            controlBar: {
                volumeMenuButton: {inline: false} 
            } 
        });
        
        video.on('firstplay', function(){
            video.videoDot({
                init: true,
                angular: true,
                dotArray: [{
                    time: 300,
                    content: '巴拉巴拉小魔仙巴拉巴'
                }, {
                    time: 1800,
                    content: '小魔仙蜜汁舞步!'
                }]
            });
        });

监听的是video的firstplay事件,显然不合理。但是在videojs官网和源码中并没有找到合适的事件。
请问该如何修改这个错误?

解决方案

查了下资料,它还提供了这两个事件,把 firstplay 换成下面的试试看效果

loadedalldata

loadeddata

附下官网api文档,方便你以后查找:
http://docs.videojs.com/docs/...

最新的文档里,事件只有loadeddata, loadedalldata没有了。

这篇关于javascript - 在angularjs项目中播放视频,使用video.js编写进度条打点插件,无法获取视频已成功加载事件(在线等)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆