Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 VideoJS-Safari 7.1,加载微调器不会在初始页面加载时消失_Javascript_Video_Safari_Video.js_Http Live Streaming - Fatal编程技术网

Javascript VideoJS-Safari 7.1,加载微调器不会在初始页面加载时消失

Javascript VideoJS-Safari 7.1,加载微调器不会在初始页面加载时消失,javascript,video,safari,video.js,http-live-streaming,Javascript,Video,Safari,Video.js,Http Live Streaming,我正在使用VideoJS实现一个视频播放器。此视频播放器的两个关键功能是: a) 如果用户离开页面,请在他们返回或刷新时恢复视频 b) 包括HLS(h.264/mp4)支持,以根据连接提供更好的视频质量 用于保存和检索用户时间戳的API已经就位,使用,视频播放器在所有浏览器中都可以正常工作。以下代码用于初始化播放机并跳转到保存的时间: videojs.options.flash.swf = '../video-js/video-js.swf'; v

我正在使用VideoJS实现一个视频播放器。此视频播放器的两个关键功能是: a) 如果用户离开页面,请在他们返回或刷新时恢复视频 b) 包括HLS(h.264/mp4)支持,以根据连接提供更好的视频质量

用于保存和检索用户时间戳的API已经就位,使用,视频播放器在所有浏览器中都可以正常工作。以下代码用于初始化播放机并跳转到保存的时间:

            videojs.options.flash.swf = '../video-js/video-js.swf';
            var player = videojs(videoId);
            supportHLS = videojs.Hls.isSupported();
            player.ready(function() {

                [[event listeners for media controls]]
                this.on('seeked', function() { console.log('seeked');});
                this.on('seeking',function() { console.log('seeking');});
                    var PLAYER_LOADED = 'loadedmetadata';
                    if(!supportHLS) { PLAYER_LOADED = 'canplay';}
                    this.one(PLAYER_LOADED, function() {
                        this.one('canplay', function() {
                            this.play();
                        });
                        this.currentTime(savedPosition);

                        lastViewed = savedPosition;
                    });
            });
(迂回逻辑的原因:Chrome在加载新数据之前(搜索之后)播放视频时出现问题,这导致缓冲区中的数据出现许多问题。此外,如果您在“loadedmetadata”事件期间尝试此操作,Safari 7.1将断开)

然而,仍然有一个问题,具体到Safari。刷新页面时,加载微调器并不总是消失。检查日志和侦听器似乎表明“搜索”和“搜索”事件几乎同时发生,但顺序不同;问题总是在“搜索”第一个开火时出现,而在“搜索”第一个开火时永远不会出现。此外,播放视频后的任何搜索都会移除微调器,因此它必须由初始搜索引起

有趣的是,Safari在本机上支持HLS流媒体,但在这个播放器实现中始终会导致大多数问题。这是最后一个要解决的Safari bug,但尽管它很小,但仍然会对用户体验产生负面影响


是什么原因导致Safari触发这样的“搜索”和“搜索”事件?我能做些什么来解决这个问题,或者有没有一个更干净的解决方案来解决我想要完成的事情

你有没有想过这个?