본문으로 바로가기
@capgo/camera-preview 미디어 오픈 소스

카메라 프리뷰 Capacitor 플러그인

__CAPGO_KEEP_0__ 플러그인을 사용하여 커스텀 컨트롤과 캡처 기능이 있는 Overlay로 라이브 카메라 피드를 표시합니다.

설치

bun add @capgo/camera-preview bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/camera-preview
  • pnpm add @capgo/camera-preview
  • yarn add @capgo/camera-preview

가이드

카메라 프리뷰를 사용하는 방법은 Capacitor

장치에서 테스트

Capgo 앱을 다운로드한 후 QR code를 스캔하세요.

카메라 프리뷰 플러그인 미리보기 QR code

카메라 프리뷰 플러그인 (@capgo/camera-preview)

카메라 프리뷰 플러그인의 주요 인터페이스

설치

bun add @capgo/camera-preview
bunx cap sync

bunx cap sync 원본 플러그인의 네이티브 code을 원본 프로젝트에 복사합니다. 플러그인 업그레이드 후 다시 실행하세요.

Import

import { CameraPreview } from '@capgo/camera-preview';

API을 한눈에

Method 설명
start 카메라 프리뷰를 시작합니다.
stop 카메라 프리뷰를 중지합니다.
capture 카메라에서 사진을 캡처합니다.
captureSample 카메라 프리뷰 스트림에서 단일 프레임을 캡처합니다.
startBarcodeScanner 활성 카메라 프리뷰에서 바코드 스캐닝을 시작합니다.
stopBarcodeScanner 카메라 프리뷰를 계속 실행하면서 바코드 스캐닝을 중지합니다.
getSupportedFlashModes 활성 카메라에서 지원하는 플래시 모드 가져오기
setAspectRatio 카메라 프리뷰의 비율을 설정합니다.
getAspectRatio 카메라 프리뷰의 현재 비율을 가져옵니다.
setGridMode 카메라 프리뷰 오버레이의 격자 모드 설정합니다.
getGridMode 카메라 프리뷰 오버레이의 현재 격자 모드를 가져옵니다.
checkPermissions 시스템 대화 없이 카메라 (및 선택적으로 마이크) 권한 상태를 확인합니다.
requestPermissions 카메라 (선택적으로 마이크) 권한을 요청합니다. 권한이 이미 허용되거나 거부된 경우 현재 상태가 반환됩니다. showSettingsAlert true가 true이고 권한이 거부된 경우 플랫폼에 따라 사용자에게 앱 설정으로 안내하는 알림이 표시됩니다.
getHorizontalFov 활성 카메라의 수평 field of view (FoV)를 가져옵니다. 참고: 일부 기기에서는 이 값이 추정값일 수 있습니다.
getSupportedPictureSizes 모든 카메라의 지원 사진 크기를 가져옵니다.
setFlashMode 활성 카메라의 플래시 모드를 설정합니다.
flip 앞/뒷 카메라를 전환합니다.
setOpacity 카메라 프리뷰의 투명도를 설정합니다.
stopRecordVideo 녹화를 중단합니다.
startRecordVideo 녹화를 시작합니다.
setVideoQuality 현재 카메라 세션에서 비디오 녹화 품질을 설정합니다.
getVideoQuality 현재 비디오 녹화 품질을 가져옵니다.
getSupportedVideoQualities 현재 카메라에서 지원하는 비디오 품질을 반환합니다.
setVideoCodec 녹화 시 사용하는 비디오 코덱을 설정합니다.
getVideoCodec 현재 녹화 시 사용하는 비디오 코덱을 가져옵니다.
getSupportedVideoCodecs 현재 카메라에서 지원하는 비디오 코덱을 반환합니다.
isVideoStabilizationSupported 현재 카메라에서 비디오 스테빌라이션을 지원하는지 확인합니다.
getSupportedVideoStabilizationModes 현재 카메라에서 지원하는 비디오 스테빌라이션 모드를 반환합니다.
getVideoStabilizationMode 현재 비디오 스테빌라이션 모드를 가져옵니다.
setVideoStabilizationMode 녹화 시 사용하는 비디오 스테빌라이션 모드를 설정합니다. 녹화 중인 경우 변경할 수 없습니다. 또한 videoStabilizationMode in startRecordVideo() option
isRunning 카메라 프리뷰가 현재 실행 중인지 확인합니다.
getAvailableDevices 사용 가능한 모든 카메라 장치를 가져옵니다.
getZoom 현재 줌 상태를 가져옵니다. (최소/최대 줌 및 현재 렌즈 정보 포함)
getZoomButtonValues 빠른 Switching을 위한 줌 버튼 값 반환 - iOS/Android: 초광각이 사용 가능하면 0.5 포함; 광각이 사용 가능하면 1과 2 포함; 망원경이 사용 가능하면 3 포함 - Web: 지원되지 않음.
setZoom 카메라 줌 레벨을 설정합니다.
getFlashMode 현재 플래시 모드를 가져옵니다.
setDeviceId 지정된 카메라로 활성 카메라를 Switch합니다. deviceId.
getDeviceId 현재 활성화된 카메라 장치 ID를 가져옵니다. Android에서 물리 렌즈 요청이 논리 카메라로 fallback되면 이 메서드는 bound 논리 카메라 ID를 반환합니다.
getPreviewSize 현재 프리뷰 크기 및 위치를 가져옵니다.
setPreviewSize 프리뷰 크기 및 위치를 설정합니다.
setFocus 특정 위치에 카메라 초점을 설정합니다.
deleteFile 장치의 절대 경로에 있는 파일을 삭제합니다. 이 기능을 사용하여 임시로 생성된 이미지와 같은 임시 파일을 빠르게 삭제할 수 있습니다. storeToFile웹에서 지원되지 않으며 오류를 발생시킵니다.
getSafeAreaInsets 디바이스의 안전한 영역의 인셋을 가져옵니다. 기기 오리엔테이션에 의존하는 notch/camera cutout 인셋과 현재 오리엔테이션을 반환합니다. 포트레이트 모드: 상단 인셋을 반환합니다(상단 notch). 랜드스케이프 모드: 왼쪽 인셋을 반환합니다(쪽 notch). 이 기능은 모든 현대 스마트폰에서 사용하는 cutout 영역(-notch, punch hole 등)을 대상으로 합니다.
getOrientation 디바이스의 현재 오리엔테이션을 횡단 플랫폼 형식으로 반환합니다.
getExposureModes 활성 카메라에서 지원하는 노출 모드 목록을 반환합니다. 모드에는 'locked', 'auto', 'continuous', 'custom'가 포함될 수 있습니다.
getExposureMode 현재 노출 모드를 반환합니다.
setExposureMode 노출 모드를 설정합니다.
getExposureCompensationRange 활성 카메라에서 지원하는 노출 보상 범위 목록을 반환합니다.
getExposureCompensation 현재 노출 보상 값을 반환합니다.
setExposureCompensation 노출 보상 값을 설정합니다. 값은 지정된 범위 내에서 클램핑됩니다.
getWhiteBalanceModes 활성 카메라에서 지원하는 화이트 밸런스 모드 목록을 반환합니다. 모드에는 'AUTO', 'LOCK', 'CONTINUOUS'가 포함될 수 있습니다. CUSTOM 구현되지 않은 수동 지원이 구현될 때까지 목록에 표시되지 않습니다.
getWhiteBalanceMode 현재 백색 균형 모드를 반환합니다.
setWhiteBalanceMode 백색 균형 모드를 설정합니다. CONTINUOUS 자동 백색 균형을 계속 실행합니다 (권장; 따뜻한/노란색 cast를 피하기 위해). LOCK 현재 gain을 고정합니다. AUTO 한 번의 일회성 조정을 수행합니다. CUSTOM 수동 gain 지원이 구현되지 않은 경우 예약되어 거부됩니다.
getSupportedVideoFrameRates 현재 형식에서 활성 카메라에 의해 지원되는 비디오 프레임 레이트 목록을 반환합니다. 지원되는 값은 선택한 카메라, 렌즈 및 비디오 품질에 따라 달라집니다.
getVideoFrameRate 활성 카메라에 대한 구성된 비디오 프레임 레이트를 반환합니다. 안드로이드에서는 낮은 조명 또는 열적 압박하에서 실제 녹음 프레임 레이트가 여전히 변할 수 있습니다.
setVideoFrameRate 활성 카메라 세션에 대한 목표 비디오 프레임 레이트를 설정합니다. 시작하는 녹음 시 frameRate to startRecordVideo() 지원되지 않는 값을 명확한 오류로 거부합니다.

예시

start()

__CAPGO_KEEP_0__

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 저장소에서 문서화되어 있습니다..

__CAPGO_KEEP_0__

addListener 이벤트를 듣기 handle.remove() handle을 반환합니다. 화면이 언마운트되면 또는 CameraPreview.removeAllListeners() 모든 리스너를 삭제합니다.

전체 참조

capgo 카메라 프리뷰를 사용하는 경우 계속하세요

__CAPGO_KEEP_0__를 사용하는 경우 capgo 카메라 프리뷰를 사용합니다. __CAPGO_KEEP_0__ 카메라 프리뷰와 연결하여 capgo 카메라 프리뷰의 구현 세부 정보를 참조하세요 for the implementation detail in @capgo/camera-preview, Getting Started Capacitor 카메라 미리보기 플러그인 @capgo/capacitor-라이브-활동 Capacitor Live Update를 사용하여 @capgo/capacitor-live-activities Capacitor Live Update를 사용하여 @capgo/capacitor-live-activities Capacitor Live Update를 사용하여 @capgo/capacitor-live-activities @capgo/capacitor-video-player Capacitor Live Update를 사용하여 @capgo/capacitor-video-player

FAQ

카메라 프리뷰 플러그인 FAQ

카메라 프리뷰 플러그인을 Capacitor 앱에 설치하는 방법은?

Run "bun add @capgo/camera-preview" (또는 "npm install @capgo/camera-preview"), 그리고 "bunx cap sync"를 실행하여 iOS와 Android 프로젝트가 네이티브 code를 인식하도록 하세요. 그리고 "@capgo/camera-preview"을 앱의 code에서 임포트하세요.

React, Vue 및 Angular과 함께 @capgo/camera-preview가 작동하는지?

네. 카메라 프리뷰는 Capacitor 패키지이므로, Ionic, React, Vue, Angular, Svelte 및 일반 JavaScript와 같은 웹 프레임워크가 Capacitor 내에서 실행되는 경우에 작동합니다.

어떤 Capacitor 버전이 @capgo/camera-preview를 지원하는지?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다: Capacitor의 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하십시오 (예를 들어 플러그인 v8과 Capacitor 8). GitHub README에 있는 호환성 표에 유지 관리 버전이 나와 있습니다.

capgo/camera-preview는 무료이며 오픈 소스인가요?

code의 소스는 GitHub에 https://github.com/Cap-go/capacitor-camera-preview/ 에 공개되어 있으며 npm에서 무료로 설치할 수 있습니다. 버그 리포트와 풀 리퀘스트는 환영합니다.

code를 사용하는 카메라 프리뷰가 앱 스토어 리뷰 없이 업데이트할 수 있나요?

code를 설치하거나 업그레이드하면 네이티브 code이 변경되므로 새로운 스토어 빌드를 필요로 합니다. 그 후에 Capgo 라이브 업데이트를 통해 자바스크립트, HTML 및 CSS 변경 사항이 플러그인을 호출하는 경우 즉시 배포할 수 있습니다.

앱 리뷰 기다리지 않고 카메라 프리뷰 변경을 배포하세요.

플러그인이 스토어 빌드에 포함된 후, Capgo 라이브 업데이트 사용자에게 몇 분 내에 자바스크립트, HTML 및 CSS 변경을 푸시합니다.

Capgo로 시작하세요.