使用@capgo/camera-preview
相机预览插件的主要界面
安装
bun add @capgo/camera-preview
bunx cap sync
bunx cap sync 将插件的本机code复制到您的本机项目中。每次升级插件后,请重新运行它。
导入
import { CameraPreview } from '@capgo/camera-preview';
API概览
| 方法 | 描述 |
|---|---|
start |
启动相机预览 |
stop |
停止相机预览 |
capture |
从相机捕获照片 |
captureSample |
从相机预览流中捕获单帧 |
startBarcodeScanner |
在活动相机预览上启动条形码扫描 |
stopBarcodeScanner |
在保持相机预览运行的情况下停止条形码扫描 |
getSupportedFlashModes |
获取活动相机支持的闪光模式 |
setAspectRatio |
设置相机预览的比例 |
getAspectRatio |
获取相机预览的当前比例 |
setGridMode |
设置相机预览覆盖层的网格模式 |
getGridMode |
获取相机预览覆盖层的当前网格模式 |
checkPermissions |
检查当前相机(可选微机)权限状态,无提示系统对话 |
requestPermissions |
请求相机(可选微机)权限。如果权限已被授予或拒绝,则返回当前状态,无提示 showSettingsAlert 当为真且权限被拒绝时,会显示一个平台特定的提示,指导用户到应用设置 |
getHorizontalFov |
获取当前激活相机的水平视野(FoV)。注意:在某些设备上,这可能是一个估计值 |
getSupportedPictureSizes |
获取所有相机支持的图片尺寸 |
setFlashMode |
设置当前激活相机的闪光模式 |
flip |
切换前后摄像头 |
setOpacity |
设置相机预览的透明度 |
stopRecordVideo |
停止当前正在进行的视频录制。 |
startRecordVideo |
开始录制视频。 |
setVideoQuality |
设置当前摄像头会话的视频录制质量。 |
getVideoQuality |
获取当前视频录制质量。 |
getSupportedVideoQualities |
获取当前摄像头支持的视频质量。 |
setVideoCodec |
设置用于录制的视频编码器。 |
getVideoCodec |
获取当前用于录制的视频编码器。 |
getSupportedVideoCodecs |
获取当前摄像头支持的视频编码器。 |
isVideoStabilizationSupported |
检查当前摄像头是否支持视频稳定。 |
getSupportedVideoStabilizationModes |
获取当前摄像头支持的视频稳定模式。 |
getVideoStabilizationMode |
获取当前视频稳定模式。 |
setVideoStabilizationMode |
设置用于录制的视频稳定模式。不能在录制过程中更改。您也可以传递 videoStabilizationMode 是否开启 startRecordVideo() 选项。 |
isRunning |
检查摄像头预览是否正在运行。 |
getAvailableDevices |
获取所有可用的摄像头设备。 |
getZoom |
获取当前的缩放状态,包括最小值/最大值和当前镜头信息。 |
getZoomButtonValues |
返回缩放按钮值以快速切换。 - iOS/Android:包含超广角可用时 0.5;宽广可用时 1 和 2;望远镜可用时 3 - Web:不支持。 |
setZoom |
设置摄像头的缩放级别。 |
getFlashMode |
获取当前闪光模式。 |
setDeviceId |
切换到指定的摄像头。 deviceId. |
getDeviceId |
获取当前绑定的摄像头设备 ID。 在 Android 上,如果物理镜头请求 fallback 到逻辑摄像头,这将返回绑定的逻辑摄像头 ID。 |
getPreviewSize |
获取当前预览大小和位置。 |
setPreviewSize |
设置预览大小和位置。 |
setFocus |
设置预览中的特定点的相机焦距。 |
deleteFile |
删除设备上的绝对路径下的文件。使用此功能快速清理使用 storeToFile删除 |
getSafeAreaInsets |
获取设备的安全区域边距。返回设备的方向感知的凹口/摄像头切口边距和当前方向。在竖屏模式下:返回顶部边距(凹口位于顶部)。在横屏模式下:返回左边距(凹口移动到侧面)。此功能专门针对现代手机的凹口区域(凹口,孔洞等)。 |
getOrientation |
获取当前设备方向。 |
getExposureModes |
获取设备的方向。 |
getExposureMode |
获取设备的方向。 |
setExposureMode |
获取设备的方向。 |
getExposureCompensationRange |
获取设备的方向。 |
getExposureCompensation |
获取设备的方向。 |
setExposureCompensation |
获取设备的方向。 |
getWhiteBalanceModes |
获取设备的方向。 CUSTOM 不在列表中,直到手动支持被实现。 |
getWhiteBalanceMode |
返回当前白平衡模式。 |
setWhiteBalanceMode |
设置白平衡模式。 CONTINUOUS 保持自动白平衡运行(推荐;避免暖黄色调), LOCK 冻结当前增益 AUTO 执行一次性调整。 CUSTOM 保留并拒绝,直到手动增益支持被实现。 |
getSupportedVideoFrameRates |
列出支持的视频帧率,取决于选中的摄像头、镜头和视频质量。 |
getVideoFrameRate |
返回配置的视频帧率。Android上实际录制帧率可能在低光或热压下会有所不同。 |
setVideoFrameRate |
设置目标视频帧率。推荐在开始录制时传递 frameRate to startRecordVideo() Live Update |
示例
start()
启动相机预览
import { CameraPreview } from '@capgo/camera-preview';
const result = await CameraPreview.start({ parent: 'parent' });
console.log(result);
stop()
停止相机预览
import { CameraPreview } from '@capgo/camera-preview';
await CameraPreview.stop();
capture()
从相机捕获照片
import { CameraPreview } from '@capgo/camera-preview';
const result = await CameraPreview.capture({ height: 1920 });
console.log(result);
captureSample()
从相机预览流中捕获单帧
import { CameraPreview } from '@capgo/camera-preview';
const result = await CameraPreview.captureSample({
quality: 85,
mirrorFrontCamera: false,
});
console.log(result);
startBarcodeScanner()
在活跃相机预览上启动条形码扫描
import { CameraPreview } from '@capgo/camera-preview';
await CameraPreview.startBarcodeScanner();
stopBarcodeScanner()
在保持相机预览运行的情况下停止条形码扫描
import { CameraPreview } from '@capgo/camera-preview';
await CameraPreview.stopBarcodeScanner();
上表列出了56个核心方法。监听器和版本帮助,以及每个方法的完整契约,均在 GitHub 仓库.
监听事件
addListener 返回句柄。请在屏幕卸载时调用 handle.remove() 示例 CameraPreview.removeAllListeners() 为了清除所有监听器。
完整参考
继续使用 @capgo/camera-preview
如果您正在使用 使用 @capgo/camera-preview 为了计划原生媒体和界面行为,连接它与 @capgo/相机预览 在 @capgo/camera-preview 中了解实现细节 开始使用 为《开始使用》中的实现细节 使用@capgo/capacitor-live-activities 为《使用@capgo/capacitor-live-activities》中的原生能力 @capgo/capacitor-live-activities 为《使用@capgo/capacitor-live-activities》中的实现细节,以及 使用@capgo/capacitor-video-player 为《使用@capgo/capacitor-video-player》中的原生能力