首页 > 解决方案 > 如何检测视频 Vimeo 何时完成播放反应?

问题描述

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

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

请你给我一些可以帮助的建议

标签: javascriptreactjseventsvimeo

解决方案


我认为本地人iframe无法从嵌入的 Vimeo 视频中检测到事件。你可以在这里参考官方的 Vimeo Player API 。如果您选择基于组件的方法,也有现有的 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


推荐阅读