【uniappネイティブプラグイン】UVCCameraプラグインインターフェース説明
プラグインマーケット
[wx]gaogaoEagle
統合の準備
- プロジェクトの対応する場所にnativeplugins/Lizii-uvcamera-sdkを追加してください(オフライン用)。
- 「Lizii-UVCCamera プラグイン」を、manifest.json のネイティブ プラグイン設定に追加します。
- アプリの署名とパッケージ名を使用して、uniapp デバッグ ベースを作成します。デバッグを実行するためのカスタム ドック
を作成します。
インターフェースの説明
- ビデオ プレビューはネイティブ プレビュー ビューを使用する必要があり、元のタグを使用するページは nvue である必要があります。
- 「プラグイン」タブ
<Lizii-UVCCameraView ref="cameraView" style="width:750rpx;height:800rpx" @onDeviceCallback="onDevice"/>
- 幅と高さを指定する必要があります。指定しないと、画像をプレビューしたり表示したりできません。
@onDeviceCallback
これはデバイス関連のイベント コールバックであり、実装して必要なイベントに従って処理する必要があります。イベント タイプと関連パラメータは、e.detail.xxx を通じて取得されます。詳細については以下を参照してください。
- プラグインの関連インターフェイスは、ラベル オブジェクトを通じて "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) を見つけると、イベントの詳細 (e.detail.deviceId) から取得されるデバイス認証 deviceId を取得するために呼び出されます。
this.$refs.cameraView.requestPermission(int deviceId);
3. カメラを開く
承認後、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. カメラを閉じます
this.$refs.cameraView.close();
10. すべてのプラグイン リソースと USB 接続を解放します。
this.$refs.cameraView.destroy();