Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 暂停时是否能检测到视频的readyState?_Javascript_Html_Angularjs_Video - Fatal编程技术网

Javascript 暂停时是否能检测到视频的readyState?

Javascript 暂停时是否能检测到视频的readyState?,javascript,html,angularjs,video,Javascript,Html,Angularjs,Video,在开始播放视频之前,我希望readyState为4,因为: 我正在尝试为我的网站创建一个加载屏幕。我已经让所有的东西都正常工作了,但是有一个奇怪的意外事件,那就是必须播放一段视频才能狂欢它的readyState,否则它不会开火。如何缓冲不播放视频的视频;当readyState达到4时启动视频? HTML: MainCtrl: var load = false; var loaded = [] angular.forEach(['load::1', 'load::2', 'loa

在开始播放视频之前,我希望readyState为4,因为:

我正在尝试为我的网站创建一个加载屏幕。我已经让所有的东西都正常工作了,但是有一个奇怪的意外事件,那就是必须播放一段视频才能狂欢它的
readyState
,否则它不会开火。如何缓冲不播放视频的视频;当readyState达到4时启动视频? HTML:

MainCtrl:

 var load = false;
    var loaded = []
    angular.forEach(['load::1', 'load::2', 'load::3', 'loaded::video'], function (value)        {
       $scope.$on(value, function (event) {
           load = true;
           loaded.push(true);

            if (load === true ) {
                console.log('+20');
                load = false;
            }

            if (loaded[0] === true && loaded[1] === true && loaded[2] == true && loaded[3]) {
                console.log('loaded');
            }
       });
    });
答案是这样的

            el.video.addEventListener("loadedmetadata", function(){
                el.video.play();
            }, false);

el.video.onloadedmetadata=alert.bind(窗口,“已加载视频”);我为什么要绑窗户?你不必;我只是指出这件事。好的,alert()在某些平台上需要这样的窗口,但不要担心alert部分……这一切都正常,但是否有我可以将其变成函数的方法?它抛出了一个错误,我对javascript太糟糕了。ex:el.video.onloadedmetadata=function(){scope.$emit('loaded::video');};我明白了!!!谢谢
 var load = false;
    var loaded = []
    angular.forEach(['load::1', 'load::2', 'load::3', 'loaded::video'], function (value)        {
       $scope.$on(value, function (event) {
           load = true;
           loaded.push(true);

            if (load === true ) {
                console.log('+20');
                load = false;
            }

            if (loaded[0] === true && loaded[1] === true && loaded[2] == true && loaded[3]) {
                console.log('loaded');
            }
       });
    });
            el.video.addEventListener("loadedmetadata", function(){
                el.video.play();
            }, false);