【uniappネイティブプラグイン】UVCCameraプラグインインターフェース説明

【uniappネイティブプラグイン】UVCCameraプラグインインターフェース説明

プラグインマーケット
[wx]gaogaoEagle

統合の準備

  • プロジェクトの対応する場所にnativeplugins/Lizii-uvcamera-sdkを追加してください(オフライン用)。
  • 「Lizii-UVCCamera プラグイン」を、manifest.json のネイティブ プラグイン設定に追加します。
  • アプリの署名とパッケージ名を使用して、uniapp デバッグ ベースを作成します。デバッグを実行するためのカスタム ドック
    を作成します

インターフェースの説明

  1. ビデオ プレビューはネイティブ プレビュー ビューを使用する必要があり、元のタグを使用するページは 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) を見つけると、イベントの詳細 (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();

おすすめ

転載: blog.csdn.net/lanlangaogao/article/details/130294678