【uniapp原生插件】UVCCamera插件接口说明

【uniapp原生插件】UVCCamera插件接口说明

插件市场
[wx] gaogaoEagle

集成准备

  • 请将nativeplugins/Lizii-uvccamera-sdk 添加到工程对应位置(针对离线)。
  • manifest.json 中原生插件配置添加“Lizii-UVCCamera插件”。
  • 用的app签名、包名制作uniapp调试基座。
    制作自定义基座来运行调试。

接口说明

  1. 视频预览需要用到原生的预览view,使用原标签的页面必须是nvue。
  2. 插件标签
    <Lizii-UVCCameraView ref="cameraView"
    style="width:750rpx;height:800rpx" 
    @onDeviceCallback="onDevice"/>
    
    • 一定要有宽和高 否则无法预览也看不到画面。
    • @onDeviceCallback是设备相关的事件回调,务必实现,然后根据需要的事件进行相关处理。事件类型以及相关的参数通过 e.detail.xxx来获取。具体参考下文。
  3. 插件的相关接口通过标签对象来调用 “this.$refs.cameraView.xxx”
    例如:this.$refs.cameraView.startPreview(); 就是调用了startPreview()函数。

接口及参数

1. 回调事件:onDevice及事件类型

此处@onDeviceCallback=“onDevice” 定义的函数是onDevice,名称可自行任意定义。

onDevice(e){
	console.log(e);
	var eventType = e.detail.event;
	if(eventType == "onDeviceOpen"){
		//相机打开
	}else if(eventType == "onDeviceonClose"){
		//相机关闭
	}else if(eventType == "onStartPreview"){
		//预览中
	}else if(eventType == "onStopPreview"){
		//预览停止
	}else if(eventType == "onError"){
		//出错 
		//e.detail.msg  出错信息
	}else if(eventType == "onButton"){//手柄按键
		//e.detail.button  buttonId
		//e.detail.state   button 状态 按下或松开,一次点按回调两次,state不同
	}else if(eventType == "onAttach"){
		 this.$refs.cameraView.setPreviewSize(1920,1080); //设置默认分辨率 
		//查找到usb设备,接下来请求权限
		this.$refs.cameraView.requestPermission(e.detail.deviceId);
	}else if(eventType == "onDettach"){
		//usb丢失
	}else if(eventType == "onConnect"){
		//usb连上(有权限)
	}else if(eventType == "onDisconnect"){
		//usb断开(有权限)
	}else if(eventType == "onCancel"){
		//usb权限 无权限(拒绝)
	}else if(eventType == "onCapture"){
		//拍照  
		//e.detail.filePath 照片路径
	}
	
}
2. 请求usb设备权限requestPermission

当插件查找到usb设备之后(onAttach)调用,获取设备使用授权,deviceId,从事件的detail中获得:e.detail.deviceId。


this.$refs.cameraView.requestPermission(int deviceId);

3. 打开摄像头open

在授权后,回调onConnect事件,插件内部会自动调用open,一般情况下外部不需要调用。


this.$refs.cameraView.open();

4. 预览摄像头画面

同3,在onConnect事件中,插件自动调用了open之后会继续调用startPreview,一般情况下不需要调用


this.$refs.cameraView.startPreview();

5. 停止预览stopPreview

与startPreview成对调用


this.$refs.cameraView.stopPreview();

6. 设置分辨率

插件内部默认分辨率是640x480,如果要修改默认分辨率,需要在onConnect事件中设定。
预览中设置分辨率,需要先stopPreview > setPreviewSize > startPreview 才有效。


this.$refs.cameraView.setPreviewSize(640,480);//1280x720

7. 拍照

预览中拍照有效,回调事件onCapture


var unipath = "_doc/shot.jpeg";
var imagePath = plus.io.convertLocalFileSystemURL(unipath);  
this.$refs.cameraView.capture(imagePath);

8. 控制或设定摄像头灯光

0X11 0XFF 白光,
0X12 0XFF 偏光,
0X13 0XFF UV光,
0X10 0XFF 关灯

this.$refs.cameraView.ctrlFlash({
					flag:0x11,
					value:0xff
				});
9. 关闭摄像头close
this.$refs.cameraView.close();
10. 释放所有插件资源和usb连接
this.$refs.cameraView.destroy();
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值