음성 인식 __CAPGO_KEEP_0__ 저장소
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 지시를 복사하세요.
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
‘사용 가능한’이라는 제목의 섹션현재 기기의 내장 음성 인식 서비스가 사용 가능한지 확인한다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();isOnDeviceRecognitionAvailable
isOnDeviceRecognitionAvailable선택한 지역의 플랫폼에서 더 새로운 on-device recognition 경로가 사용 가능한지 확인합니다.
이 기능을 사용하기 전에 이 기능을 사용해야 하는지 확인해야 합니다. useOnDeviceRecognition.
A true 결과는 현재 장치, OS 버전 및 지역이 플랫폼의 더 새로운 on-device 경로를 사용할 수 있는지 나타냅니다.
리턴 false 장치가 오래된 recognizer 경로만 지원할 때 리턴됩니다.
SDK 플랫폼 문서: iOS: Speech Android:
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();start
시작음성 녹음과 음성 인식을 시작합니다.
만약 partialResults 은 true, partialResults 이미 반환된 promise가 즉시 해결되고,
listener를 통해 업데이트가 스트리밍됩니다. 세션이 끝날 때까지. useOnDeviceRecognition: true 기본 경로는 백워드 호환성을 위해 레거시 recognizer 동작을 유지합니다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();stop
이미이미
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();forceStop
Section titled “forceStop”현재 세션을 강제로 중지합니다.
안드로이드에서는 정상적인 중지를 먼저 시도하고, 그 다음 destroy/recreate를 사용합니다. timeout.
iOS에서는 현재 세션을 즉시 중지합니다.
부분 전사록이 캐시되어 있다면, partialResults listener forced: true.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();getLastPartialResult
Section titled “getLastPartialResult”최근 캐시된 부분 전사록 결과를 가져옵니다.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();setPTTState
Section titled “setPTTState”현재 push-to-talk 버튼 상태를 업데이트합니다.
이 기능을 사용하려면 continuousPTT 또는 사용자 정의 홀드-토론 흐름과 함께 사용하십시오.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);getSupportedLanguages
getSupportedLanguages라는 제목의 섹션Recognizer의 underlying에 의해 지원하는 언어 목록을 가져옵니다.
Android 13+ 장치에서는 이 목록을 더 이상 노출하지 않습니다. 그 경우는 빈 목록입니다. languages 클립보드에 복사
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();isListening
이 플러그인이 음성을 듣고 있는지 여부를 반환합니다.클립보드에 복사
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();checkPermissions
Section titled “checkPermissions”__CAPGO_KEEP_0__
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();requestPermissions
__CAPGO_KEEP_1____CAPGO_KEEP_2__
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();__CAPGO_KEEP_3__
__CAPGO_KEEP_1__SpeechRecognitionAvailability
__CAPGO_KEEP_4__export interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
__CAPGO_KEEP_5____CAPGO_KEEP_6__
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
PTT 상태 옵션옵션
export interface PTTStateOptions { /** * Whether the PTT button is currently held. */ held: boolean;}SpeechRecognitionLanguages
음성 인식 언어export interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
__CAPGO_KEEP_1__ (음성 인식 듣기)export interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
__CAPGO_KEEP_1__ (음성 인식 권한 상태)__CAPGO_KEEP_0__ 반환된 checkPermissions 및 requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
__CAPGO_KEEP_1__ (음성 인식 결과 구간 이벤트)__CAPGO_KEEP_0__에서만 발생하는 구간 결과가 생성될 때.
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
__CAPGO_KEEP_1__ (음성 인식 부분 결과 이벤트)__CAPGO_KEEP_0__에서 부분 음성 인식 결과가 생성될 때.
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
SpeechRecognitionListeningEventlistening 상태가 변경될 때 발생합니다.
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';}Source Of Truth
Source Of Truth이 페이지는 플러그인의 src/definitions.tsAPI가 업스트림에서 변경될 때 다시 싱크를 실행하세요.
Getting Started에서 계속
Getting Started에서 계속__CAPGO_KEEP_0__를 사용하는 경우 Getting Started 대시보드와 API 운영을 계획하고 연결하세요. Using @capgo/capacitor-speech-recognition 자연어 인식 기능을 사용하기 위한 @capgo/capacitor-speech-recognition API 개요 API 개요에서 구현 세부 정보 소개 소개에서 구현 세부 정보 API 키 API 키에서 구현 세부 정보 장치 장치에서 구현 세부 정보