安装:
npm install --save video-react
或者
yarn add video-react
使用示例:
import React, { Component, Fragment } from 'react';
import path from './guide.mp4'
import {
Player,
ControlBar,
PlayToggle,
ReplayControl,
ForwardControl,
CurrentTimeDisplay,
TimeDivider,
PlaybackRateMenuButton,
VolumeMenuButton
} from 'video-react';
import "../node_modules/video-react/dist/video-react.css";
class AAA extends Component {
componentDidMount() {
console.log(this.player)
this.player.subscribeToStateChange(this.handleStateChange.bind(this));
}
handleStateChange(state, prevState) {
console.log(state)
}
render() {
return (
<Fragment>
<div style={{ width: 500, height: 300, margin: 50 }}>
<Player
ref={c => {
this.player = c;
}}
poster="https://video-react.js.org/assets/poster.png"
>
<source
src={path}
type="video/mp4"
/>
<ControlBar autoHide={false} disableDefaultControls={false}>
<ReplayControl seconds={10} order={1.1} />
<ForwardControl seconds={30} order={1.2} />
<PlayToggle />
<CurrentTimeDisplay order={4.1} />
<TimeDivider order={4.2} />
<PlaybackRateMenuButton rates={[5, 2, 1.5, 1, 0.5]} order={7.1} />
<VolumeMenuButton />
</ControlBar>
</Player>
</div>
</Fragment>
)
}
}
export default AAA;
参考文档
https://video-react.js.org/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构