@api.video/react-player

中文文档
1.1.0发布于 2024/06/19MITTypeScriptESM + CJS近 30 天下载 2万

视频 反应播放器组件

中文使用文档
文档目录9 节
  1. 目录
  2. 项目说明
  3. 开始
  4. 安装
  5. 基本用途
  6. 文档
  7. 属性
  8. 方法
  9. 使用大小写

badge   badge   badge

视频 反应播放器组件

npm ts

视频 是产品制造者的视频基础设施。 闪电快视频 API 用于在您的应用程序中集成,缩放,并管理点播后低空直播功能.

目录

项目说明

官方 api.video React Player 组件.

开始

安装

$ npm install --save @api.video/react-player

基本用途

然后您可以使用您的应用程序中的组件 :

import ApiVideoPlayer from "@api.video/react-player";

// ...

<ApiVideoPlayer
  video={{ id: "vi5fv44Hol1jFrCovyktAJS9" }}
  style={{ height: "480px" }}
/>;

文档

属性

设置

以下属性用于配置玩家. 每一个属性的值可以在回放期间随时被更改.

财产强制性类型说明默认
视频对{id: string;live?: boolean; token?: string;}id: 要播放的视频 id
token (可选):秘密视频符号
live (可选):真实的视频
样式没有反应 CSS 财产适用于玩家容器的 CSS 样式{}
自动播放没有布尔定义视频是否在装入后立即开始播放虚假
哑巴没有布尔视频是哑音虚假
元数据没有{ [key: string]: string }包含对象 元数据 (见 实例 (见下文){}
隐藏鼠标没有布尔也不要隐藏在视频首播前的海报图像虚假
无铬没有布尔无色模式: 所有控件都隐藏虚假
循环没有布尔视频完成后,会自动重新开始虚假
隐藏标题没有布尔视频标题被隐藏虚假
播放范围没有编号视频的回放率:1为正版,2为x2等.1个
显示字幕没有布尔确定是否显示视频字幕虚假
音量没有编号相声卷. 0至1(0=哑音,1=100%)1个
控件没有控件Name要显示的控件列表 。 如果没有指定和无铬=虚假,则显示所有控件,见下文 控件未定义
主题没有玩家主题适用于玩家的主题,见下文 玩家主题如果未指定,则使用默认主题未定义
响应没有布尔或玩家shoulb的反应。 见下文 响应虚假
视频Style ObjectFit没有"收""收""收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收"收""收"""""""""""""""""""""""""""""""""""""""这个 object-fit 视频标签的 CSS 值未定义
相机变形没有字符串这个 transform 视频标签的 CSS 值(例:"rotateY (180deg)")未定义
广告没有{ad TagUrl: string} (韩语)见下文 广告
自定义域没有字符串如果您为您的账户启用了自定义域, 那么完整的“ embed” 域名( 如 嵌入.mydomain.com)
热键无( 默认: 真)布尔如果错误, 则解除玩家的热键, 使其无法捕捉焦点, 这在某些情况下可能是有益的
控件

这个 controls 属性允许您在玩家上显示 wich 控件。 以下是所有可用控件列表: play, (中文(简体) ), seekBackward, (中文(简体) ), seekForward, (中文(简体) ), playbackRate, (中文(简体) ), volume, (中文(简体) ), fullscreen, (中文(简体) ), subtitles, (中文(简体) ), chapters, (中文(简体) ), pictureInPicture, (中文(简体) ), progressBar, (中文(简体) ), chromecast, (中文(简体) ), download, (中文(简体) ), more。 。 。 .

实例

{
  /* default: all controls are displayed */
}
<ApiVideoPlayer
  video={{ id: "vi5fv44Hol1jFrCovyktAJS9" }}
  style={{ height: "480px" }}
/>;

{
  /* all controls hidden (equivalent to chromeless=true) */
}
<ApiVideoPlayer
  video={{ id: "vi5fv44Hol1jFrCovyktAJS9" }}
  style={{ height: "480px" }}
  controls={[]}
/>;

{
  /* only the play button & the unmute one are displayed */
}
<ApiVideoPlayer
  video={{ id: "vi5fv44Hol1jFrCovyktAJS9" }}
  style={{ height: "480px" }}
  controls={["play", "unmute"]}
/>;
玩家主题

这个 theme 属性允许您自定义玩家上某些元素的颜色。 以下是可定制元素列表: text, (中文(简体) ), link, (中文(简体) ), linkHover, (中文(简体) ), trackPlayed, (中文(简体) ), trackUnplayed, (中文(简体) ), trackBackground, (中文(简体) ), backgroundTop, (中文(简体) ), backgroundBottom, (中文(简体) ), backgroundText, (中文(简体) ), linkActive。 。 。 .

示例

{
  /* display the text in blue and the progress bar in red */
}
<ApiVideoPlayer
  video={{ id: "vi5fv44Hol1jFrCovyktAJS9" }}
  style={{ height: "480px" }}
  theme={{
    trackPlayed: "#FF0000",
    text: "blue",
  }}
/>;
广告

广告可以在玩家中显示. 要做到这一点,你需要通过 ads 选项。 在那个 ads 对象,通过 adTagUrl 带有广告标签url的属性。 广告标签必须是VAST 2.0或 3.0 url. 有关VAST的更多信息,请查看 IAB 文件。 。 。 .

注:广告使用 谷歌IMA SDK。 。 。 .

反应

与 responsive={true},玩家高度会根据玩家的宽度,自动设定视频与/高比相匹配.

示例

{
  /* the player width is 160px and response is true: if the video in a 16/9 one, the height of the player will be automatically set to 90px (160 / (16/9)) */
}
<ApiVideoPlayer
  video={{ id: "vi5fv44Hol1jFrCovyktAJS9" }}
  style={{ width: "160px" }}
  responsive={true}
/>;

回电

财产类型说明
运行() 无效当一个 play 触发事件
暂停() 无效当一个 pause 触发事件
无法控制() 无效禁用控件时调用
已启用控制器() 无效启用控件时调用
结束() 无效当一个 ended 触发事件
错误() 无效当一个 error 触发事件
首页() 无效当一个 firstPlay 触发事件
屏幕上的变化() 无效当一个 fullscreen 触发事件
移动输入() 无效当鼠标进入玩家区域时调用
移动() 无效当鼠标离开玩家区域时调用
更新() 无效当一个 resize 触发事件
质量变化(决议: { height: number, width: number }(虚空)视频质量发生变化时调用. 提供了新的质量
在电视上(比例:数目)当视频大小比变化(即新视频被装入时)时调用. 提供了新的比率
时间变化() 无效回放率变化时调用
准备() 无效当一个 ready 触发事件
正在寻找() 无效当一个 seek 触发事件
时间更新(当前时间: 数字) 虚空当一个 timeupdate 触发事件。 提供目前时间
用户() 无效当一个 useractive 触发事件
用户活动() 无效当一个 userinactive 触发事件
变化(体积:数量)音量变化时调用. 已提供卷.
时间变化(期限:数目)视频持续时间变化时调用. 规定期限

方法

方法说明
播放()播放视频
暂停( c)暂停视频
搜索( 时间: 数字)使用指定时间( 秒) 查找播放量
设置当前时间( 时间: 数字)转到指定时间( 秒)
请求全屏 ()请求全屏模式( 根据浏览器限制, 在某些情况下可能无法工作)
退出全屏 ()离开全屏模式
缩写在图片模式下请求图片( 这在某些情况下可能无法工作, 取决于浏览器限制)
退出 Picture InPicture ()在图片模式中保存图片

使用大小写

私人录像

来玩一个 私人视频,在视频属性中添加视频视图符:

// ...
<ApiVideoPlayer
  video={{
    id: "vi5fv44Hol1jFrCovyktAJS9",
    token: "e1bdf9a8-da40-421e-87f3-75b15232c531",
  }}
  style={{ height: "480px" }}
/>

定义元数据

// ...
<ApiVideoPlayer
  video={{ id: "vi5fv44Hol1jFrCovyktAJS9" }}
  style={{ height: "480px" }}
  metadata={{ userName: "Alfred" }}
/>

定义自己的控制

const playerRef = useRef<ApiVideoPlayerRef>(null);

return;
<ApiVideoPlayer
  video={{ id: "vi5jC9kQs2I3PdmVBjgcIg45" }}
  style={{ height: "480px" }}
  chromeless={true}
  ref={playerRef}
>
  <button onClick={() => playerRef.current?.play()}>play</button>
  <button onClick={() => playerRef.current?.pause()}>pause</button>
</ApiVideoPlayer>;

版本与发布记录

@api.video/react-player 共发布 10 个版本,首次发布于 2022/04/21;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.1.0latest2024/06/192 年前
1.0.42023/12/132 年前
1.0.32023/06/133 年前
1.0.22023/02/153 年前
1.0.12022/06/244 年前
1.0.02022/06/234 年前

关于 @api.video/react-player 的常见问题

@api.video/react-player 是什么?

视频 反应播放器组件

如何安装 @api.video/react-player?

在项目目录运行 npm install @api.video/react-player,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=16.6.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@api.video/react-player 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@api.video/react-player 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@api.video/react-player 可以商用吗?

@api.video/react-player 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@api.video/react-player 的下载量有多少?

根据 npm 官方下载统计,@api.video/react-player 在 2026/10/06 – 2026/11/04 这 30 天内被下载 19,658 次,日均约 655 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@api.video/react-player 还在维护吗?

最新版本 1.1.0 发布于 2024/06/19(2 年前);至今共发布 10 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/04/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。