Inicio
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este 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.
Instalar
Sección titulada “Instalar”Puede utilizar nuestra configuración asistida por IA para instalar el plugin. Agregue las Capgo habilidades a su herramienta de IA utilizando el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utilice la siguiente solicitud:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-speech-recognition` plugin in my project.Si prefiere la configuración manual, instale el complemento ejecutando los siguientes comandos y siguiendo las instrucciones específicas de la plataforma a continuación:
bun add @capgo/capacitor-speech-recognitionbunx cap syncImportar
Título de la sección “Importar”import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';API Resumen
Título de la sección “API Resumen”available
Título de la sección “disponible”Verifica si el servicio de reconocimiento de voz nativo está disponible en el dispositivo actual.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();isOnDeviceRecognitionAvailable
Sección titulada “isOnDeviceRecognitionAvailable”Verifica si el camino de reconocimiento en dispositivo más reciente del plataforma está disponible para la selección de idioma.
Esta es la comprobación de capacidad que debes usar antes de habilitar useOnDeviceRecognition.
A true El resultado significa que el dispositivo, la versión del sistema operativo y el idioma pueden usar el camino de dispositivo más reciente para esa plataforma.
Devuelve false cuando el dispositivo solo admite el camino del reconocedor legado.
Documentación de plataforma SDK: iOS: Voz Android: Reconocedor de habla
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();Comienza a capturar audio y transcribe la habla.
Cuando partialResults es true, la promesa devuelta se resuelve de inmediato y se transmiten actualizaciones
a través del partialResults listener hasta que la sesión termina.
El camino predeterminado mantiene el comportamiento del reconocedor legado para compatibilidad hacia atrás.
Pas useOnDeviceRecognition: true solo después de verificar
.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();Detiene la escucha y desmonta los recursos nativos.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();forceStop
Sección titulada “forceStop”Detiene forzadamente la sesión actual.
En Android, esto intenta detener normalmente primero y luego cae en destroy/recrear después de timeout.
En iOS, la sesión actual se detiene inmediatamente.
Si se ha almacenado un resultado de transcripción parcial, se emite a través del partialResults listener con forced: true.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();getLastPartialResult
Sección titulada “getLastPartialResult”Obtiene el último resultado de transcripción parcial almacenado.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();Actualiza el estado actual del botón de habla por presión.
Utilice esto junto con continuousPTT o con un flujo de habla por presión personalizado.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);getSupportedLanguages
Sección titulada “obtener idiomas soportados”Obtiene los idiomas locales soportados por el reconocedor subyacente.
Los dispositivos Android 13+ ya no exponen esta lista; en ese caso languages está vacío.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();isListening
Sección titulada “está escuchando”Devuelve si el plugin está escuchando activamente la voz.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();checkPermissions
Sección titulada “checkPermissions”Obtiene el estado de permisos actual.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();requestPermissions
Sección titulada “requestPermissions”Solicita permisos de micrófono + reconocimiento de voz.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();Referencia de tipo
Sección titulada “Type Reference”SpeechRecognitionAvailability
Sección titulada “Disponibilidad de Reconocimiento de Voz”export interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
Sección titulada “Opciones de Inicio de Reconocimiento de Voz”Configure cómo el reconocedor se comporta cuando se llama .
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
Título de la sección “SpeechRecognitionMatches”export interface SpeechRecognitionMatches { matches?: string[];}ForceStopOptions
Título de la sección “ForceStopOptions”Opciones para .
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
Título de la sección “LastPartialResult”Resultado de .
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
Título de la sección “PTTStateOptions”Opciones para .
export interface PTTStateOptions { /** * Whether the PTT button is currently held. */ held: boolean;}SpeechRecognitionLanguages
Sección titulada “Idiomas de reconocimiento de voz”export interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
Sección titulada “Escucha de reconocimiento de voz”export interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
Sección titulada “Estado de permiso de reconocimiento de voz”Mapa de permisos devuelto por checkPermissions y requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
Sección titulada “Resultado de segmento de evento de reconocimiento de voz”Se levanta cada vez que se produce un resultado segmentado (solo para Android).
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
Sección titulada “SpeechRecognitionPartialResultEvent”Se levanta cada vez que se produce una transcripción parcial.
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
Sección titulada “SpeechRecognitionListeningEvent”Se levanta cuando cambia el estado de escucha.
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';}Fuente de Verdad
Sección titulada “Fuente de Verdad”Esta página se genera a partir del plugin’s src/definitions.tsRe-ejecutar la sincronización cuando el API público cambie en la fuente.
Seguir adelante desde Getting Started
Sección titulada “Seguir adelante desde Getting Started”If you are using Getting Started para planificar la consola y las operaciones de API, conecte con Using @capgo/capacitor-speech-recognition para la capacidad nativa en Using @capgo/capacitor-speech-recognition, API Overview para los detalles de implementación en API Overview, Introducción para los detalles de implementación en Introducción, API Keys para los detalles de implementación en API Keys, y Dispositivos para los detalles de implementación en dispositivos.