萤石云APP能否直接与萤石摄像头app进行对话?

更新记录
1.9(2024-03-26)
1、修复由打包机更新导致iOS打包失败问题。
2、更新插件android端SDK到最新版本5.10.1,iOS端SDK到最新版本5.10。
1.8(2023-09-26)
修复插件ios端页面关闭时闪退bug。
1.7(2023-09-13)
更新Android端SDK版本到5.4.1。
查看更多
平台兼容性
Android
Android CPU类型
iOS
适用版本区间:5.0 - 14.0
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试
适用版本区间:9 - 17
原生插件通用使用流程:
购买插件,选择该插件绑定的项目。
在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
开发完毕后正式云打包
付费原生插件目前不支持离线打包。Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/androidiOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
一、SDK插件
1、插件对象
//SDK插件对象
var Ezviz = uni.requireNativePlugin('Ezviz-SDK');
2、检测麦克风权限
Ezviz.checkPermission(function(res){
console.log(res);
if (res.result == true) {
//授权成功
} else {
//权限被拒绝
}
});
3、默认日志开关状态
/** * sdk日志开关,正式发布需要去掉 */
Ezviz.showSDKLog(true);
4、设置是否支持P2P取流
/** * 设置是否支持P2P取流,详见api */
Ezviz.enableP2P(false);
5、初始化
/** * APP_KEY请替换成自己申请的 */
Ezviz.initLib("57000d257af14abbb0aeda6a66d4961c");
6、授权
//授权
Ezviz.setAccessToken("at.c2dx310xb4nfxv199wljpuzu3x1f89nh-39jy21iltd-1wyoynf-pdkiqe022");
7、云台控制
//云台控制
var deviceSerial = "G16624272";//设备序列号
var cameraNo = 1;//通道号
//ptz控制命令
//android:PTZ_UP(上)=0;PTZ_DOWN(下)=1;PTZ_LEFT(左)=2;PTZ_RIGHT(右)=3;PTZ_ZOOMIN(画面放大)=8;PTZ_ZOOMOUT(画面缩小)=9;
var command = 1;
var action = 1;//控制启动/停止 1-启动 2-停止
var speed = 1;//云台速度:0-慢,1-适中,2-快
Ezviz.controlPTZ(deviceSerial, cameraNo, command, action, speed, function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
二、对讲插件
1、对讲插件对象
//对接插件对象
var EzvizTalk = uni.requireNativePlugin('Ezviz-Talk');
2、创建对讲播放器
//创建对讲播放器
EzvizTalk.createPlayer("G16624272", 1);
3、设置回调事件处理
//设置回调事件处理
EzvizTalk.setHandler(function(res){
console.log(res);
});
4、设备加密的需要传入密码
//设备加密的需要传入密码
//传入视频加密密码,用于加密视频的解码,该接口可以在收到ERROR_INNER_VERIFYCODE_NEED或ERROR_INNER_VERIFYCODE_ERROR错误回调时调用
//verifyCode 视频加密密码,默认为设备的6验证码
EzvizTalk.setPlayVerifyCode("verifyCode");
5、半双工对讲
//注意对于半双工对讲:需要调用上面接口开启对讲
//开启对讲后能听到设备端声音,但是设备端听不到自己的声音,需要以下操作setVoiceTalkStatus
//设备端听,手机端说
talk.setVoiceTalkStatus(true);
//手机端听,设备端说
talk.setVoiceTalkStatus(false);
6、开始对讲
//开始对讲
EzvizTalk.startVoiceTalk(true);
7、停止对讲
//停止对讲
EzvizTalk.stopVoiceTalk();
8、切换听筒模式
//切换听筒模式 (true)听筒模式 (false)耳机模式
EzvizTalk.setSpeakerphoneOn(true);
三、视频预览插件
1、视频预览标签,嵌入标签当前页面必需nvue页面
<ezviz_video_view ref="videoPlayer" :style="`width: 100%;height: 200px;`"></ezviz_video_view>
2、视频插件对象,必需在mounted里和之后可以获取,不能在onLoad里调用
var videoPlayer = this.$refs.videoPlayer;
3、创建对讲播放器
//创建播放器
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.createPlayer("G16624272", 1);
4、设置回调事件处理
//设置回调事件处理
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.setHandler(function(res){
console.log(res);
});
5、设备加密的需要传入密码
//设备加密的需要传入密码
//传入视频加密密码,用于加密视频的解码,该接口可以在收到ERROR_INNER_VERIFYCODE_NEED或ERROR_INNER_VERIFYCODE_ERROR错误回调时调用
//verifyCode 视频加密密码,默认为设备的6验证码
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.setPlayVerifyCode("verifyCode");
6、开启预览
//开始播放
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.startRealPlay(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
7、停止预览
//停止播放
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.stopRealPlay();
8、切换听筒模式
//切换听筒模式 (true)听筒模式 (false)耳机模式
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.setSpeakerphoneOn(true);
9、打开声音
//声音开
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.openSound(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
10、关闭声音
//静音
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.closeSound(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
11、截图
//截图
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.capturePicture(function(imageBase64Data){
//图片base64数据(不含头部信息)
});
12、设置sdcard录像和云存储录像回放速度
var videoPlayer = this.$refs.videoPlayer;
/*/倍速
EZOPENSDK_PLAY_RATE_1_16 = 9,
//以1/16倍速度播放
EZOPENSDK_PLAY_RATE_1_8 = 7,
//以1/8倍速度播放
EZOPENSDK_PLAY_RATE_1_4 = 5,
//以1/4倍速度播放
EZOPENSDK_PLAY_RATE_1_2 = 3,
//以1/2倍速播放
EZOPENSDK_PLAY_RATE_1 = 1,
//以正常速度播放
EZOPENSDK_PLAY_RATE_2 = 2,
//以2倍速播放
EZOPENSDK_PLAY_RATE_4 = 4,
//以4倍速度播放
EZOPENSDK_PLAY_RATE_8 = 6,
//以8倍速度播放
EZOPENSDK_PLAY_RATE_16 = 8,
//以16倍速度播放
EZOPENSDK_PLAY_RATE_32 = 10,
//以32倍速度播放
//*/
var rate = 1;
var mode = 0;//0代表4倍速及其以下全帧,以上则抽帧;1代表均使用抽帧;2代表均使用全帧,达不到要求则降速
videoPlayer.setPlaybackRate(rate, mode, function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
13、开始云存储远程回放
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.startPlaybackFromCloud({
deviceSerial:"G16624272",// 设备序列号
cameraNo:1,// 设备通道号
fileId:"fileId",// 云存储录像文件Id
startTime:0,// 云存储录像文件开始时间 时间戳
stopTime:0,// 云存储录像文件结束时间 时间戳
coverPic:"",// 云存储录像截图地址
downloadPath:"",// 云存储录像下载地址
encryption:"",// 云存储图片加密密码,如果是[NSNull null]或者nil指针则图片不加密
iStorageVersion:1, //云存储类别:1 单文件存储模式;2 连续存储模式;3 待定
videoType:0//云存储录像类型,默认为0,表示不属于云存储录像
}, function(res){
console.log(res);//true=成功 false=失败
});
14、开始远程SD卡回放
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.startPlaybackFromDevice({
startTime:0,// 云存储录像文件开始时间 时间戳
stopTime:0// 云存储录像文件结束时间 时间戳
}, function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
15、暂停远程回放播放
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.pausePlayback(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
16、恢复远程回放播放
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.resumePlayback(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
17、停止远程回放
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.stopPlayback(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
18、根据偏移时间播放 拖动进度条时调用此接口。先停止当前播放,再把offsetTime作为起始时间按时间回放
var videoPlayer = this.$refs.videoPlayer;
var offsetTime = 0;//录像偏移时间
videoPlayer.seekPlayback(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
19、开始本地直播流录像功能
var videoPlayer = this.$refs.videoPlayer;
var path = plus.io.convertLocalFileSystemURL('_doc') + "/video.mp4";//文件存储路径
videoPlayer.startLocalRecordWithFile(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
20、结束本地直播流录像
var videoPlayer = this.$refs.videoPlayer;
videoPlayer.stopLocalRecord(function(ret){
//ret == true 成功 ret ==false 失败
console.log(ret);
});
更详细接口和参数说明参考SDK文档 http://open.ys7.com/doc/zh/android/com/videogo/openapi/EZPlayer.html
}

我要回帖

更多关于 萤石摄像头app 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信