如何检测视频Vimeo完成播放的时间?

问题描述

我在页面上添加了vimeo作为链接,并尝试使用onEnded事件,但是它不起作用。 我的代码在这里

const iframe = useRef(null)
const myCallback = () => (console.log('Video has ended'));
     <iframe
        ref={iframe}
        src='some-link'
        onEnded={() => myCallback()}          
      />

请您告诉我一些可以帮助您的信息

解决方法

我认为原生iframe不能从嵌入式Vimeo视频中检测到事件。您可以参考官方的Vimeo Player API here。如果您选择基于组件的方法,那么也有React的现有实现。

import React from "react";
import Vimeo from "@u-wave/react-vimeo";

export default function App() {
  const myCallback = () => console.log("Video has ended");

  return (
    <div className="App">
      <Vimeo video="347119375" autoplay onEnd={() => myCallback()} />
    </div>
  );
}

CodeSandBox:https://codesandbox.io/s/so-react-vimeo-embed-6xt25
参考:https://github.com/u-wave/react-vimeo

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...