IpcPlayer
版本要求:
@ray-js/ray≥0.6.9
描述
实时视频播放组件。基于异层渲染的原生组件,请注意原生组件使用限制。
属性
| 属性 | 类型 | 必填 | 默认值 | 说明 | 最低版本 |
|---|---|---|---|---|---|
deviceId | string | 是 | "" | 设备 id,组件的唯一标识符,必须设置 | - |
autoplay | boolean | 否 | false | 自动播放 | - |
muted | boolean | 否 | - | 是否静音 | - |
clarity | "ss" | "normal" | "hd" | "ud" | "ssp" | "auto" | "audio" | 否 | normal | 清晰度:ss 省流量、normal 标清、hd 高清、ud 超清、ssp 超超清、auto 自动、audio 音频模式 | - |
soundMode | "speaker" | "ear" | 否 | speaker | 声音输出方式:speaker 扬声器、ear 听筒 | - |
orientation | "vertical" | "horizontal" | 否 | vertical | 画面方向:vertical 竖直、horizontal 水平 | - |
objectFit | "contain" | "fillCrop" | 否 | contain | 填充模式:contain 长边填满,fillCrop 铺满裁剪 | - |
autoPauseIfNavigate | boolean | 否 | true | 跳转本小程序其他页面时是否自动暂停实时音视频 | - |
autoPauseIfOpenNative | boolean | 否 | true | 跳转 App 其他原生页面时是否自动暂停实时音视频 | - |
rotateZ | number | 否 | 0 | 摄像头旋转角度,0~360 | - |
scalable | boolean | 否 | true | 当前是否可缩放 | - |
scaleMultiple | number | 否 | 0 | 缩放比例,仅在 scalable 为 true 时生效 | - |
ptzControllable | boolean | 否 | true | 是否开启视频区域云平台控制 | - |
borderWidth | number | string | 否 | 0 | 边框宽度,单位 px | - |
borderStyle | "solid" | "dashed" | 否 | solid | 边框样式:solid、dashed | - |
borderColor | string | 否 | #ffffff | 边框颜色,十六进制 | - |
borderRadius | number | string | 否 | 0 | 边框圆角,单位 px | - |
backgroundColor | string | 否 | #ffffff | 背景颜色,十六进制 | - |
| 否 | - | 额外属性配置 | @ray-js/ray 1.7.79 | ||
| 否 | - | 当连接状态发生变化时触发,请使用 onConnectChange | - | ||
| 否 | - | 当预览状态发生变化时触发,请使用 onPreviewChange | - | ||
| 否 | - | 当设备在线状态变化时触发,请使用 onOnlineChange | - | ||
| 否 | - | 初始化完成时触发,请使用 onInitDone | - | ||
| 否 | - | 视频缩放比例变化时触发,请使用 onZoomChange | - | ||
| 否 | - | 点击视频时触发,请使用 onVideoTap | - | ||
| 否 | - | 当连接状态发生变化时触发,state 为 0 表示连接成功 | - | ||
| 否 | - | 当预览状态发生变化时触发,state 为 1 表示开始预览成功,0 表示结束预览成功 | - | ||
| 否 | - | 当 IPC 设备在线状态变化时触发 | - | ||
| 否 | - | 初始化完成时触发 | - | ||
| 否 | - | 视频缩放比例及当前倍数变化时触发 | - | ||
| 否 | - | 点击视频时触发 | - | ||
| 否 | - | 状态异常时触发 | - | ||
| 否 | - | 断开连接(⚠️ Android 端未下发,断开连接通过 onConnectChange state < 0 体现) | - | ||
| 否 | - | 预览失败(P2P sessionStatus < 0 时触发,普通预览与多目共用) | IPCKit 6.1.4 | ||
| 否 | - | 弱网通知 | IPCKit 6.1.4 | ||
| 否 | - | 异层组件创建成功时触发 | IPCKit 6.2.3 | ||
| 否 | - | 选中视频索引时触发 | IPCKit 7.3.3 | ||
| 否 | - | 布局状态改变时触发 | IPCKit 7.3.3 | ||
| 否 | - | 定位器定位时触发 | IPCKit 7.3.3 | ||
| 否 | - | 滑动播放器手势上报、需要转动云台时触发 | IPCKit 7.3.3 | ||
updateLayout | unknown | 否 | - | 用来异层组件通知容器层样式更新 | - |
引用对象
interface
IpcPlayerSessionDidDisconnectedEventinterface
IpcPlayerCreateViewSuccessEventinterface
BaseEvent| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
type | string | 是 | 事件类型 |
timeStamp | number | 是 | 页面打开到触发事件所经过的毫秒数 |
| 是 | 触发事件的源组件 | ||
| 是 | 当前组件的一些属性值集合 | ||
mark | any | 否 | 事件标记数据 |
interface
Target| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
id | string | 是 | 事件源组件的id |
| 是 | 事件源组件上的 `dataset` 自定义属性组成的集合 |
合法值
clarity
| 值 | 说明 | 最低版本 |
|---|---|---|
ss | 省流量画质 | - |
normal | 标清画质 | - |
hd | 高清画质 | - |
ud | 超清画质 | - |
ssp | 超超清画质 | - |
auto | 自动选择清晰度 | - |
audio | 音频模式 | - |
soundMode
| 值 | 说明 | 最低版本 |
|---|---|---|
speaker | 使用扬声器输出声音 | - |
ear | 使用听筒输出声音 | - |
orientation
| 值 | 说明 | 最低版本 |
|---|---|---|
vertical | 竖直方向 | - |
horizontal | 水平方向 | - |
objectFit
| 值 | 说明 | 最低版本 |
|---|---|---|
contain | 保持宽高比,按长边适配以完整显示画面 | - |
fillCrop | 保持宽高比并铺满容器,超出部分裁剪 | - |
borderStyle
| 值 | 说明 | 最低版本 |
|---|---|---|
solid | 实线边框 | - |
dashed | 虚线边框 | - |
示例代码
基础用法
IPC 播放控制
错误码
相关链接
相关 API:createIpcPlayerContext。这是基于异层渲染的原生组件, 请注意 原生组件使用限制。
常见问题
ipc-player默认宽度 300px、高度 225px,可通过 tyss 设置宽高。- Tuya MiniApp IDE 上暂不支持。
- 相关原理请参考 基于异层渲染的原生组件。
- 请注意 原生组件使用限制。