Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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
discover.js html5视频和javascript-从幻灯片更改问题开始重新启动视频播放_Javascript_Html_Video_Reveal.js - Fatal编程技术网

discover.js html5视频和javascript-从幻灯片更改问题开始重新启动视频播放

discover.js html5视频和javascript-从幻灯片更改问题开始重新启动视频播放,javascript,html,video,reveal.js,Javascript,Html,Video,Reveal.js,我正在尝试制作一个kisok应用程序,使用diseal.js从菜单中显示一些幻灯片和播放两个视频。除了视频播放之外,一切都很好,看起来很棒 我在中使用了标记,因为数据背景视频=“something.mp4”似乎也没有在幻灯片更改时重新启动。 如果我从播放视频幻灯片中导航出来,然后返回到幻灯片,则视频将在其停止的位置恢复,并且不会按照我的要求在开始时重新启动,就像自动播放设置为true一样 我曾尝试在使用data state=“something”命名之后,使用Reveal.addEventLis

我正在尝试制作一个kisok应用程序,使用diseal.js从菜单中显示一些幻灯片和播放两个视频。除了视频播放之外,一切都很好,看起来很棒

我在
中使用了
标记,因为
数据背景视频=“something.mp4”
似乎也没有在幻灯片更改时重新启动。 如果我从播放视频幻灯片中导航出来,然后返回到幻灯片,则视频将在其停止的位置恢复,并且不会按照我的要求在开始时重新启动,就像自动播放设置为true一样

我曾尝试在使用
data state=“something”
命名
之后,使用
Reveal.addEventListener上的api编写一些javascript代码来实现这一点,它可以工作。。嗯,有点。。它只在第一个视频中成功运行,然后只运行了一段时间,然后似乎中断了所有视频播放。第二个视频播放一次,然后将不会重新启动,然后我也无法通过控制台控制它

以下是相关的html:

<!--*********************************************************Video 1 Page-->
                <section id="rene_vid_page" data-state="video1_show" data-transition="fade-in fade-out"  data-background="img/Backdrop.svg">
                    <h1 class="page_title">My page title</h1>
                    <video id="rene_vidplayer" data-autoplay data-src="Videos/full_edit_portrait.mp4" ></video>

我的页面标题


我的页面标题
这是我拼凑的javascript, 当视频结束并且该位工作时,这也会进入下一张幻灯片

    <script>
                          var video = document.getElementById("rene_vidplayer");
                          video.onended = function (e) {
                                console.log("video_ended slide advance");
                                 Reveal.next();
                    };        
                            Reveal.addEventListener('video1_show', function (e) {

// Called when "video1_show" slide is made visible

                                console.log('"rene video show has been called"');
                                video.currentTime = 0;
                                console.log('"videotime set to 0"');
                                video.play();
                                console.log('"video set to play"');

                            });

                            var video2 = document.getElementById("conc_vidplayer");
                            video2.onended = function (e) {
                                console.log("video2_ended slide advance");
                                Reveal.next();
                            };

                            Reveal.addEventListener('video2_show', function (e) {
// Called when "video2_show" slide is made visible

                                console.log('"video2_show has been called"');
                                video2.currentTime = 0;
                                console.log('"videotime set to 0"');
                                video2.play();
                                console.log('"video2 set to play"')
                            });

    </script>

var video=document.getElementById(“rene_vidplayer”);
video.onended=功能(e){
console.log(“视频/幻灯片前进”);
揭示。下一步();
};        
discover.addEventListener('video1_show',函数(e){
//当“video1_show”幻灯片可见时调用
log(“”rene视频秀被称为“);
video.currentTime=0;
console.log(‘“videotime设置为0’);
video.play();
console.log(““要播放的视频集”);
});
var video2=document.getElementById(“conc_vidplayer”);
video2.ONENED=功能(e){
控制台日志(“视频2_结束幻灯片前进”);
揭示。下一步();
};
discover.addEventListener('video2_show',函数(e){
//当“video2_show”幻灯片可见时调用
log(''video2_show被称为'');
video2.currentTime=0;
console.log(‘“videotime设置为0’);
视频2.播放();
console.log(“'video2设置为播放””)
});
我可以在控制台中看到,我输入的日志在正确的位置工作,但视频停止运行:(第二个视频将从控制台中的video2.play()运行,但前提是第一个视频尚未完成或第二个视频已经播放

你可以看出,我的js编码目前还不是很好,可能有太多的错误,最终是一种更好的方法。
非常感谢您提供的任何帮助或建议,因为下周的节目非常需要这些帮助或建议!!

好的,所以我通过在各自的Reveal.addEventListener部分中添加video.load()和video2.load()来实现这一点。不确定这样做是否有任何问题,或者是否有更好的方法?
不过,现在这一切都很好!:)

    <script>
                          var video = document.getElementById("rene_vidplayer");
                          video.onended = function (e) {
                                console.log("video_ended slide advance");
                                 Reveal.next();
                    };        
                            Reveal.addEventListener('video1_show', function (e) {

// Called when "video1_show" slide is made visible

                                console.log('"rene video show has been called"');
                                video.currentTime = 0;
                                console.log('"videotime set to 0"');
                                video.play();
                                console.log('"video set to play"');

                            });

                            var video2 = document.getElementById("conc_vidplayer");
                            video2.onended = function (e) {
                                console.log("video2_ended slide advance");
                                Reveal.next();
                            };

                            Reveal.addEventListener('video2_show', function (e) {
// Called when "video2_show" slide is made visible

                                console.log('"video2_show has been called"');
                                video2.currentTime = 0;
                                console.log('"videotime set to 0"');
                                video2.play();
                                console.log('"video2 set to play"')
                            });

    </script>