更新时间:2022-02-14 01:33:44下载pdf
本文介绍了 IPC 面板中与视频相关操作的封装接口。
详情请参考 GitHub 模板。
说明:此模板使用 React Hooks 开发,请使用 3.22 及以上 App 进行调试与预览。
import { TYIpcNative } from '@tuya/tuya-panel-ipc-sdk';
TYIpcNative.enterPlayBack();
TYIpcNative.enterAlbum();
字段 | 说明 | 最低 App SDK 版本 |
---|---|---|
startPlay | 开始播放 | 3.17 |
pausePlay | 暂停播放 | 3.17 |
iosSnapShootToPhoneAlbums | 截图保存到手机相册(仅支持IOS) | 3.17 |
isMuting | 是否静音 | 3.17 |
isRecording | 是否录制中 | 3.17 |
isTalkBacking | 是否对讲 | 3.17 |
isHDOn | 视频是否高清 | 3.17 |
enableHd | 高标清视频流切换(只有高标清可用此方法) | 3.17 |
changeClarityAndAudio | 支持多类型视频流及音频模式 (需设备支持) | 3.17 |
enableMute | 声音模式切换 | 3.17 |
snapShoot | 视频截屏 | 3.17 |
enableRecord | 开始及结束视频录像 | 3.17 |
enableStartTalk | 开始单向对讲或双向通话 | 3.17 |
enableStopTalk | 结束单向对讲或双向通话 | 3.17 |
isSupportedCloudStorage | 设备是否支持云存储 | 3.17 |
showToast | 原生 App 弹出 toast 组件 | 3.17 |
enterPlayBack | 普通原生回放页面 | 3.17 |
enterParamPlayBack | 带参数的原生回放页面(含主题、固定时间) | 3.20 |
enterAlbum | 普通原生相册页面 | 3.17 |
enterParamAlbum | 带参数的原生相册页面(含主题) | 3.20 |
enterCloudBack | 普通原生云存储页面 | 3.17 |
enterParamCloudBack | 带参数的原生云存储页面(含主题、固定时间) | 3.20 |
enterMessageAll | 普通原生消息中心页面 | 3.17 |
enterParamMessageAll | 带参数的原生消息中心页面(含主题) | 3.20 |
enterMediaPlayerPreview | 消息,图片音频跳转预览 | 3.17 |
enterCameraSetting | 原生设置页面 | 3.17 |
setScreenOrientation | 横竖屏切换 | 3.17 |
backPlayPreview | 离开视频预览页面 | 3.17 |
enterRnPage | 从视频预览界面跳转到其它 RN 一级界面,需调用此方法 | 3.17 |
backNavigatorLivePlay | 从其它 RN 界面返回视频预览界面的返回按钮 | 3.17 |
backLivePlayWillUnmount | 从其它 RN 界面返回视频预览界面的,RN 页面销毁时调用(必调) 否则会出现返回预览界面画面冻结 | 3.17 |
getWifiSignal | 获取设备信号强度0-100 | 3.17 |
isMobileNetType | 获取手机当前是移动流量还是其它方式(宽带,Wi-Fi)播放,主要用于提示用户流量消耗 | 3.17 |
gotoHybridContainer | 跳转至固定 H5 移动 HTML 页面 | 3.17 |
backFromActivityBrowser | 监听从 H5 页面返回 | 3.17 |
enterDeviceParamAlbum | 行车记录仪跳转本地相册 | 3.22 |
openFloatWindow | 视频浮窗 | 3.36 |
最低 App 版本
3.17
描述
开始播放
请求参数
param:isWirless, privateMode, deviceOnline, clarityStatus, voiceStatus, hightScaleMode, channelNum
注:以上参数具体信息与播放器组件参数一致。
返回结果
null
使用示例
TYIpcNative.startPlay(false, false, true, 'HD', true, -1).then(data => {
const { success } = data;
});
最低 App 版本
3.17
描述
暂停播放
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.pausePlay().then(data => {
const { success } = data;
});
最低 App 版本
3.17
描述
截图保存到手机相册(仅支持IOS)。
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.iosSnapShootToPhoneAlbums().then(data => {
const { success, imageSrc } = data;
setState({
imageSrc // 缩略图base64数据
})
});
最低 App 版本
3.17
描述
是否静音
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.isMuting().then(data => {
const { isMuting } = data;
this.setState({
isMuting,
})
});
最低 App 版本
3.17
描述
是否录制中
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.isRecording().then(data => {
const { isRecording } = data;
this.setState({
isRecording,
})
});
最低 App 版本
3.17
描述
是否对讲
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.isTalkBacking().then(data => {
const { isTalkBacking } = data;
this.setState({
isTalkBacking,
})
});
最低 App 版本
3.17
描述
是否对讲
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.isHDOn().then(data => {
const { isHDOn } = data;
this.setState({
isHDOn,
})
});
最低 App 版本
3.17
描述
高标清视频流切换(只有高标清可用此方法)。
请求参数
param: HD
| SD
返回结果
Promise 对象
使用示例
TYIpcNative.enableHd('HD').then(data => {
const { success } = data;
if (success) {
TYIpcNative.showToast('Video stream switch successfully');
} else {
TYIpcNative.showToast('Video stream switching failed');
}
});
最低 App 版本
3.17
描述
支持多类型视频流及音频模式 (需设备支持)
请求参数
param:SS
| SD
| HD
| UD
| SSP
| AUDIO
SS: 省流量
SD: 标清
HD: 高清
UD: 超清
SSP: 超超清
AUDIO: 音频模式
返回结果
Promise 对象
使用示例
TYIpcNative.changeClarityAndAudio('AUDIO').then(data => {
const { success } = data;
if (!success) {
TYIpcNative.showToast('Audio mode switch failed');
} else {
TYIpcNative.showToast('Audio mode switch successfully');
}
});
最低 App 版本
3.17
描述
声音模式切换
请求参数
param:ON
| OFF
返回结果
Promise 对象
使用示例
TYIpcNative.enableMute('ON').then(data => {
const { success } = data;
if (success) {
TYIpcNative.showToast('Sound switch successfully');
} else {
TYIpcNative.showToast('Sound switching failed');
}
});
最低 App 版本
3.17
描述
视频截屏
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.snapShoot().then(data => {
const { success } = data;
if (success) {
console.log(data.imageSrc, 'Ios is Base64, Android is local path');
} else {
TYIpcNative.showToast('Screenshot failed');
}
});
最低 App 版本
3.17
描述
开始及结束录像
请求参数
param: null
返回结果
Promise 对象
使用示例
TYIpcNative.enableRecord().then(data => {
const { success, isRecording, isSaveErr } = data;
if (isRecording && success) {
TYIpcNative.showToast('Recording');
} else if (!success && isSaveErr) {
// Indicates save error
TYIpcNative.showToast('Save err');
} else if (!success && !isSaveErr) {
// Indicates an enable error
TYIpcNative.showToast('operation failed');
} else {
TYIpcNative.showToast('The video has been saved in the album');
}
});
最低 App 版本
3.17
描述
开始单向对讲或双向通话(单向对讲过程中,声音模式为OFF
,结束单向对讲后,声音模式为ON
,双向通话过程中,声音模式为始终为 ON
)
请求参数
param:true | false (当前对讲模式是否为双向对讲)
返回结果
void
使用示例
// 通过 TYIpcPlayer 组件回调函数 onChangeSupportedMicWay onListenIsTalking 获取对讲方式以及是否正在对讲
const { isTwoWayTalk, isTalking } = this.props;
if (!isTalking) {
TYIpcNative.enableStartTalk(isTwoWayTalk);
}
最低 App 版本
3.17
描述
结束单向对讲或双向通话(结束单向对讲后,声音模式为 ON
,双向通话过程中,声音模式为始终为 ON
)
请求参数
param:true | false (当前对讲模式是否为双向对讲)
返回结果
void
使用示例
// 通过 TYIpcPlayer 组件回调函数 onChangeSupportedMicWay onListenIsTalking 获取对讲方式以及是否正在对讲
const { isTwoWayTalk, isTalking } = this.props;
if (isTalking) {
TYIpcNative.enableStopTalk(isTwoWayTalk);
}
最低 App 版本
3.17
描述
设备是否支持云存储
请求参数
param:null
返回结果
Promise 对象
使用示例
TYIpcNative.isSupportedCloudStorage().then(data => {
const { isSupported } = data;
if (isSupported) {
console.log('Support cloud storage');
} else {
console.log('Does not support cloud storage');
}
})
最低 App 版本
3.17
描述
原生 App 弹出 toast 组件
请求参数
param:string
返回结果
void
使用示例
TYIpcNative.showToast('Anything you want to show');
最低 App 版本
3.17
描述
普通原生回放页面
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.enterPlayBack();
最低 App 版本
3.20
描述
带参数的原生回放页面。支持黑白两套原生回放页面,支持传入 time 时间戳(单位:秒),播放固定时间点 { theme: number, time: 1599791519 } 。
theme:1 为黑色主题, 2 为白色主题。 不传 theme 字段默认黑色。
time:起始时间戳,不传默认当天日期从头播放。
请求参数
param: { theme?: number, time?: number }
返回结果
void
使用示例
TYIpcNative.enterParamPlayBack({ theme: 2, time: 1599791519 });
最低 App 版本
3.17
描述
普通原生相册页面。
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.enterAlbum();
最低 App 版本
3.20
描述
带参数的原生相册页面 支持黑、白两套原生回放页面。
theme: 1 为黑色主题, 2为白色主题(必传)。
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.enterParamAlbum({ theme: 2 });
最低 App 版本
3.17
描述
普通原生云存储页面
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.enterCloudBack();
最低 App 版本
3.20
描述
带参数的云存储回放页面。支持黑白两套原生回放页面,支持传入 time 时间戳(单位:秒),播放固定时间点 { theme: number, time: 1599791519 } 。
theme:1 为黑色主题, 2 为白色主题。 不传 theme 字段默认黑色。
time:起始时间戳,不传默认当天日期从头播放。
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.enterParamCloudBack({ theme: 2 });
最低App版本
3.17
描述
普通原生消息中心页面
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.enterMessageAll();
最低 App 版本
3.17
描述
带参数的消息中心页面 支持黑、白两套原生回放页面。
theme: 1 为黑色主题,2 为白色主题。不传 theme 字段默认黑色。
请求参数
param: { theme: number }
返回结果
void
使用示例
TYIpcNative.enterParamMessageAll({ theme: 2 });
最低 App 版本
3.17
描述
音频、图片、视频预览原生界面。
请求参数
param: {
devId: deviceId,
msgId: msgSrcId(消息id),
msgTitle: (消息标题) 可自定义,
msgTime: 时间显示(string),
type: 0
(视频) | 1
(音频) | 2
(图片),
mediaUrl: 视频、音频或图片的url地址
}
返回结果
void
使用示例
TYIpcNative.enterMediaPlayerPreview(param);
最低 App 版本
3.17
描述
原生设置页面,设置主题配置可联系项目经理。
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.enterCameraSetting();
最低 App 版本
3.17
描述
横竖屏切换。通过 TYIpcPlayer 组件回调函数 onChangeScreenOrientation 绑定全屏的状态,同时 TYIpcPlayer 中传入 isFullScreen 是否为全屏的状态。
请求参数
param: 0 | 1 number 0 表示竖屏 1 表示横屏
返回结果
void
使用示例
// Horizontal screen
TYIpcNative.setScreenOrientation(1);
// Vertical screen
TYIpcNative.setScreenOrientation(0);
最低 App 版本
3.17
描述
离开视频预览界面(通常不会使用到,TYIpcPlayer 已内部使用)。
请求参数
param: true | null true 表示离开视频预览界面,需断开 P2P 连接。
返回结果
void
使用示例
// Disconnect P2P connection
TYIpcNative.backPlayPreview(true);
// Keep P2P connection
TYIpcNative.backPlayPreview();
最低 App 版本
3.17
描述
从视频预览界面跳转到其它 Rn 一级界面,必须调用此方法。
请求参数
param: ( id: string, data: Object )
返回结果
void
使用示例
TYIpcNative.enterRnPage('rnPage', {attr1: value1, attr2: value2});
最低 App 版本
3.17
描述
从 Rn 界面返回视频预览界面的返回按钮。
请求参数
param: null
返回结果
void
使用示例
TYIpcNative.backNavigatorLivePlay();
最低 App 版本
3.17
描述
从 Rn 界面返回视频预览界面的,Rn 页面销毁时调用(必调) 否则会出现返回预览界面画面冻结
请求参数
param: null
返回结果
void
使用示例
componentWillUnmount() {
TYIpcNative.backLivePlayWillUnmount();
}
最低 App 版本
3.17
描述
获取设备信号强度0-100
请求参数
param: null
返回结果
Promise 对象
使用示例
TYIpcNative.getWifiSignal().then(data => {
const { signalValue } = data;
console.log('signalValue', `${signalValue}%`);
});
最低 App 版本
3.17
描述
获取手机当前是移动流量还是其它方式(宽带,Wi-Fi)播放,主要用于提示用户流量消耗
请求参数
param: null
返回结果
Promise 对象
使用示例
TYIpcNative.isMobileNetType().then(data => {
const { isMobileNetWork } = data;
if(isMobileNetWork) {
console.log("You are currently using data playback");
}
});
最低 App 版本
3.17
描述
跳转固定的移动 HTML5 页面
请求参数
param: h5Url
返回结果
void
使用示例
TYIpcNative.gotoHybridContainer(h5Url);
最低 App 版本
3.17
描述
监听从移动 html5 页面返回
请求参数
param: null
返回结果
void
使用示例
import { TYSdk } from 'tuya-panel-kit';
const TYEvent = TYSdk.event;
componentDidMount() {
TYEvent.on('backFromActivityBrowser', () => {});
}
componentwillUnMount() {
TYEvent.off('backFromActivityBrowser');
}
最低 App 版本
3.22
描述
行车记录仪跳转设备本地相册。
theme:1 为黑色主题, 2 为白色主题。 不传 theme 字段默认黑色。
albumName:本地相册名
请求参数
param: { theme? : number, albumName: “ipc_emergency_record” }
返回结果
void
使用示例
TYIpcNative.enterDeviceParamAlbum(param);
最低 App 版本
3.36
描述
视频浮窗(非IPC品类设备调用,需在返回成功结果后调用关闭面板功能)。
请求参数
null
返回结果
Promise<{ success: boolean; err?: any }>
使用示例
import { TYIpcNative } from '@tuya/tuya-panel-ipc-sdk';
import { TYSdk } from 'tuya-panel-kit';
TYIpcNative.openFloatWindow().then((res) => {
if (res.success) {
TYSdk.native.back();
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈