视频 反应播放器组件
视频 是产品制造者的视频基础设施。 闪电快视频 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: 要播放的视频 idtoken (可选):秘密视频符号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>;
