Démarrage
Copier un prompt de configuration avec les étapes d'installation et la guide markdown complète pour ce 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.
Installer
Section intitulée « Installer »bun add @capgo/capacitor-speech-recognitionbunx cap syncImporter
Section intitulée “Importer”import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';API Vue d'ensemble
Section intitulée “API Vue d'ensemble”available
Section intitulée “disponible”Vérifie si le service de reconnaissance vocale native est utilisable sur le dispositif actuel.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();isOnDeviceRecognitionAvailable
Section intitulée “isOnDeviceRecognitionAvailable”Vérifie si le chemin de reconnaissance sur le dispositif est disponible pour la locale sélectionnée.
C'est la vérification de capacité que vous devez utiliser avant d'activer useOnDeviceRecognition.
A true Le résultat signifie que le dispositif actuel, la version de l'OS et la locale peuvent utiliser la nouvelle voie sur le dispositif pour cette plateforme.
Retourne false Lorsque le dispositif ne supporte que la voie de reconnaissance legacy.
Plateforme SDK docs : iOS : Parole Android :
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();Section intitulée “start”
Commence à capturer l'audio et à transcrire la parole. partialResults Lorsque trueLes mises à jour sont transmises en streaming jusqu'à la fin de la session. partialResults Le chemin par défaut conserve le comportement du reconnaissant legacy pour des raisons de compatibilité.
Vérifiez avant de passer useOnDeviceRecognition: true Copier dans le presse-papier
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();Copier dans le presse-papier
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();Sur Android, cela tente d'abord une arrêt normal puis recourt à la destruction/recreation après.
Sur iOS, la session en cours est arrêtée immédiatement. timeoutLes mises à jour sont transmises en streaming jusqu'à la fin de la session.
Si un transcript partiel est mis en cache, il est émis à travers le partialResults écouteur avec forced: true.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();getLastPartialResult
Section intitulée “getLastPartialResult”Récupère le dernier résultat de transcription partiel mis en cache.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();setPTTState
Section intitulée “setPTTState”Met à jour l'état actuel du bouton de parole à la demande.
Utilisez cela ensemble avec continuousPTT ou avec un flux personnalisé de maintien de la parole.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);getSupportedLanguages
Section intitulée “getSupportedLanguages”Obtient les locaux pris en charge par le reconnaissant sous-jacent.
Les appareils Android 13+ ne rendent plus cette liste accessible ; dans ce cas, elle est vide. languages Copier dans le presse-papier
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();Copier dans le presse-papier
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();checkPermissions
Obtient l'état actuel des autorisations.Copier dans le presse-papier
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();requestPermissions
Demande les autorisations microphone + reconnaissance vocale.Copier dans le presse-papier
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();Référence de type
Section intitulée « Référence de type »SpeechRecognitionAvailability
Section intitulée « Disponibilité de la reconnaissance vocale »export interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
Section intitulée « Options de démarrage de la reconnaissance vocale »Configurez le comportement du reconnaissant lors de l'appel à .
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
Section intitulée « Résultats de reconnaissance vocale »export interface SpeechRecognitionMatches { matches?: string[];}ForceStopOptions
Section intitulée « Options de mise en pause forcé »Options pour .
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
Section intitulée « Résultat partiel »Résultat 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
Section intitulée « Options PTTState »Options pour .
export interface PTTStateOptions { /** * Whether the PTT button is currently held. */ held: boolean;}SpeechRecognitionLanguages
Section intitulée « Langues de reconnaissance vocale »export interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
Section intitulée « Écoute de reconnaissance vocale »export interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
Section intitulée « Statut de permission de reconnaissance vocale »Carte de permission renvoyée par checkPermissions et requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
Section intitulée “SpeechRecognitionSegmentResultEvent”Émis chaque fois qu'un résultat segmenté est produit (seulement sur Android).
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
Section intitulée “SpeechRecognitionPartialResultEvent”Émis chaque fois qu'une transcription partielle est produite.
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
Section intitulée “SpeechRecognitionListeningEvent”Émis lorsque l'état d'écoute change.
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
Section intitulée “Source Of Vérité”Cette page est générée à partir du plugin’s src/definitions.tsRe-run la synchronisation lorsque les données publiques API changent en amont.
Continuez de l'étape de démarrage
Section intitulée “Continuez de l'étape de démarrage”Si vous utilisez Démarrage pour planifier les opérations de tableau de bord et API, connectez-le avec Utilisez @capgo/capacitor-reconnaissance-voix pour la capacité native dans Utilisez @capgo/capacitor-reconnaissance-voix, API Présentation pour les détails d'implémentation dans API Vue d'ensemble Introduction pour les détails d'implémentation dans Introduction API Clés pour les détails d'implémentation dans API Clés, et Appareils pour les détails d'implémentation dans Appareils.