Getting Started
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-speech-recognition`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/speech-recognition/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
설치
설치란?AI-Assisted Setup을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 Capgo 스킬을 추가하려면 다음 명령어를 사용하세요:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins그런 다음 다음 명령어를 사용하세요.
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-speech-recognition` plugin in my project.만약 Manual Setup을 선호한다면, 다음 명령어를 실행하고 아래의 플랫폼별 지침을 따르세요.
bun add @capgo/capacitor-speech-recognitionbunx cap syncImport
Import라는 제목의 섹션import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';API 개요
API 개요라는 제목의 섹션available
available라는 제목의 섹션__CAPGO_KEEP_0__ 언어에서 사용 가능한 네이티브 음성 인식 서비스가 현재 장치에 있는지 확인합니다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();isOnDeviceRecognitionAvailable
"isOnDeviceRecognitionAvailable" 제목의 섹션선택한 지역에 대해 플랫폼의 최신 장치 내 인식 경로가 사용 가능한지 확인합니다.
이 기능을 사용하기 전에 이 기능을 사용해야 하는 기능 체크입니다. useOnDeviceRecognition.
A true 결과는 현재 장치, OS 버전 및 지역이 최신 장치 내 경로를 사용할 수 있는지 여부를 나타냅니다.
리턴 false 장치가 오래된 인식기 경로만 지원할 때 리턴합니다.
SDK 플랫폼 문서: iOS: 음성 Android: 음성 인식기
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();start
시작음성을 녹음하고 음성 인식을 시작합니다.
언제 partialResults 는 true, 반환된 프로미스가 즉시 해결되고 업데이트는 partialResults 리스너를 통해 세션 종료까지 스트리밍됩니다.
기본 경로는 백워드 호환성을 위해 레거시 인식기 동작을 유지합니다. useOnDeviceRecognition: true 만
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();stop
복사하기기록을 중단하고 네이티브 리소스를 해제합니다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();forceStop
“forceStop” 제목의 섹션현재 세션을 강제로 중단합니다.
안드로이드에서 이 첫 번째 시도는 일반적인 중단을 시도하고 나중에 destroy/recreate로 돌아갑니다. timeout.
iOS에서 현재 세션은 즉시 중단됩니다.
부분 전사 기록이 캐시되어 있다면, partialResults listener forced: true.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();getLastPartialResult
“getLastPartialResult” 제목의 섹션캐시된 마지막 부분 전사 결과를 가져옵니다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();setPTTState
__CAPGO_KEEP_0____CAPGO_KEEP_1__
__CAPGO_KEEP_2__ continuousPTT __CAPGO_KEEP_3__
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);getSupportedLanguages
__CAPGO_KEEP_5____CAPGO_KEEP_6__
__CAPGO_KEEP_7__ languages __CAPGO_KEEP_8__
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();isListening
__CAPGO_KEEP_10____CAPGO_KEEP_11__
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();checkPermissions
권한 확인 섹션현재 권한 상태를 가져옵니다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();requestPermissions
권한 요청 섹션마이크 + 음성 인식 권한을 요청합니다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();타입 참조
타입 참조 섹션SpeechRecognitionAvailability
음성 인식 가능성 섹션export interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
음성 인식 시작 옵션 섹션Configure how the recognizer behaves when calling .
export interface SpeechRecognitionStartOptions { /** * Locale identifier such as `en-US`. When omitted the device language is used. */ language?: string; /** * Maximum number of final matches returned by native APIs. Defaults to `5`. */ maxResults?: number; /** * Prompt message shown inside the Android system dialog (ignored on iOS). */ prompt?: string; /** * When `true`, Android shows the OS speech dialog instead of running inline recognition. * Defaults to `false`. */ popup?: boolean; /** * Emits partial transcription updates through the `partialResults` listener while audio is captured. */ partialResults?: boolean; /** * Enables native punctuation handling where supported (iOS 16+). */ addPunctuation?: boolean; /** * Opt in to the platform's newer on-device recognition path when available. * * On iOS 26+, this uses Apple's `SpeechAnalyzer` / `SpeechTranscriber` pipeline. * On recent Android versions, this uses the on-device `SpeechRecognizer` path. * * It is intentionally opt-in so existing apps keep the legacy flow unless they choose * to roll out the new behavior. * * Use {@link SpeechRecognitionPlugin.isOnDeviceRecognitionAvailable} before enabling it in production. * * Platform SDK docs: * iOS: [Speech](https://developer.apple.com/documentation/speech), * [SpeechAnalyzer](https://developer.apple.com/documentation/speech/speechanalyzer), * [SpeechTranscriber](https://developer.apple.com/documentation/speech/speechtranscriber) * Android: [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer) * * Defaults to `false`. */ useOnDeviceRecognition?: boolean; /** * Allow a number of milliseconds of silence before splitting the recognition session into segments. * Required to be greater than zero and currently supported on Android only. */ allowForSilence?: number; /** * EXPERIMENTAL: Keep a PTT session alive across silence by restarting recognition while the button stays held. * * This restart behavior is implemented for Android inline recognition and iOS native recognition. */ continuousPTT?: boolean;}SpeechRecognitionMatches
음성 인식 결과export interface SpeechRecognitionMatches { matches?: string[];}ForceStopOptions
강제 종료 옵션복사하기
export interface ForceStopOptions { /** * Android only: timeout in milliseconds before forcing stop via destroy/recreate. * * On iOS, the current session is stopped immediately and this value is ignored. * * Defaults to `1500`. */ timeout?: number;}LastPartialResult
복사하기최근 부분 결과
export interface LastPartialResult { /** * Whether a partial result is currently cached. */ available: boolean; /** * The most recent transcript text known to the native recognizer. */ text: string; /** * All current match alternatives when available. */ matches?: string[];}PTTStateOptions
복사하기음성 인식 옵션
export interface PTTStateOptions { /** * Whether the PTT button is currently held. */ held: boolean;}SpeechRecognitionLanguages
음성 인식 언어 목록export interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
음성 인식 듣기export interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
음성 인식 권한 상태권한 맵 checkPermissions 그리고 requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
음성 인식 결과 세그먼트 이벤트Android에서만 생성되는 세그먼트 결과가 생성될 때 발생합니다.
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
음성인식 부분 결과 이벤트부분 음성 인식이 생성될 때 발생합니다.
export interface SpeechRecognitionPartialResultEvent { /** * Current recognition matches when the native recognizer reports them. * * This can be omitted for forced or accumulated-only payloads. */ matches?: string[]; /** * Accumulated transcription from earlier continuous PTT cycles. */ accumulated?: string; /** * Final accumulated text including the current result. */ accumulatedText?: string; /** * `true` when the plugin is restarting recognition inside a continuous PTT session. */ isRestarting?: boolean; /** * `true` when the payload was emitted by `forceStop()`. */ forced?: boolean;}SpeechRecognitionListeningEvent
음성인식 듣기 이벤트음성 인식 상태가 변경될 때 발생합니다.
export interface SpeechRecognitionListeningEvent { /** * Finite state of the recognition session. */ state?: ListeningFiniteState; /** * Unique identifier for the current listening session. */ sessionId?: number; /** * Why this state transition occurred. */ reason?: ListeningReason; /** * Error code when the transition is caused by an error. */ errorCode?: string; /** * Backward-compatible binary state used by earlier releases. */ status?: 'started' | 'stopped';}실제 원천
실제 원천이 페이지는 플러그인의 src/definitions.ts업스트림에서 pubic API이 변경될 때 다시 싱크를 실행하세요.
시작부터 계속
시작부터 계속If you are using Getting Started API을 위한 대시보드와 API 연산을 계획하고 싶다면 Using @capgo/capacitor-speech-recognition for the native capability in Using @capgo/capacitor-speech-recognition, API Overview API에 대한 구현 세부 정보를 보려면 Introduction __CAPGO_KEEP_0__에 대한 구현 세부 정보를 보려면 API Keys API에 대한 구현 세부 정보를 보려면 Devices __CAPGO_KEEP_0__ 구현 세부 사항.