Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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 ReactJS视频播放器(ReactPlayer)-如何检查视频是否(完全)播放?_Javascript_Reactjs_React Player - Fatal编程技术网

Javascript ReactJS视频播放器(ReactPlayer)-如何检查视频是否(完全)播放?

Javascript ReactJS视频播放器(ReactPlayer)-如何检查视频是否(完全)播放?,javascript,reactjs,react-player,Javascript,Reactjs,React Player,我使用的是ReactJS,我试图显示一个视频,用户只能在观看完整个视频后才能继续。我目前正在使用一个名为React player的依赖项,它可以选择何时结束,但用户可以跳过视频 有没有办法检查视频是否播放了一段时间?或者是否可以禁用转发 这是我目前的代码: <ReactPlayer onEnded={() => setVideoEnded(true)} url={ "https://...server.net/

我使用的是ReactJS,我试图显示一个视频,用户只能在观看完整个视频后才能继续。我目前正在使用一个名为React player的依赖项,它可以选择何时结束,但用户可以跳过视频

有没有办法检查视频是否播放了一段时间?或者是否可以禁用转发

这是我目前的代码:

    <ReactPlayer
        onEnded={() => setVideoEnded(true)}
        url={
            "https://...server.net/NodeUploadServer/public/" +
            course.video
        }
        width="100%"
        height="100%"
        controls={true}
    />

    <Button disabled={!videoEnded} >
      Go to test
    </Button>
setVideoEnded(true)}
网址={
"https://...server.net/NodeUploadServer/public/" +
课程视频
}
宽度=“100%”
高度=“100%”
控件={true}
/>
测试

以下是两种可能的解决方案:

使用自定义播放器用户界面 第一个解决方案是删除渲染时间轴组件的默认播放器控件。但是,使用此解决方案,您需要创建自定义UI

记录比赛时间 react本机播放器确实有一个事件来发布经过的时间,但这不是您想要的

如果您使用的是HTML5视频播放器,则可以利用该属性并验证视频是否已在特定范围内播放


如果没有,您必须使用间隔或
timeupdate
事件跟踪播放的时间。

谢谢!我使用第三种解决方案解决了这个问题,即禁用控件并制作自己的播放和暂停控件:)@sj19-您是否有带有小型自定义控件的示例react播放器的codesanbox或JSFIDLE?我不敢相信文档中没有一个例子,如果你来自react hooks(react玩家没有使用hooks),这会有点困难