我如何检测视频 Vimeo 何时完成播放?
How can I detect when video Vimeo finished playing react?
我在页面上添加 vimeo 作为 link 并尝试使用 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>
);
}
代码沙盒:https://codesandbox.io/s/so-react-vimeo-embed-6xt25
参考:https://github.com/u-wave/react-vimeo
我在页面上添加 vimeo 作为 link 并尝试使用 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>
);
}
代码沙盒:https://codesandbox.io/s/so-react-vimeo-embed-6xt25
参考:https://github.com/u-wave/react-vimeo