Vai alla navigazione principale

Iniziare

Finestra del terminale
bun add @capgo/capacitor-speech-recognition
bunx cap sync
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';

Controlla se il servizio di riconoscimento vocale nativo è utilizzabile sul dispositivo corrente.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();

Controlla se il percorso di riconoscimento in dispositivo più recente è disponibile per la selezione di lingua.

Questo è il controllo di capacità che dovresti utilizzare prima di abilitare useOnDeviceRecognition. A true il risultato significa che il dispositivo, la versione del sistema operativo e la lingua possono utilizzare il percorso più recente per il riconoscimento in dispositivo per quella piattaforma.

Restituisce false quando il dispositivo supporta solo il percorso del riconoscitore legacy.

Documentazione del SDK: iOS: "Speech" Android: Riconoscitore di parola

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();

Inizia a captare l'audio e a trascrivere la parola.

Quando partialResults è true, la promessa restituita si risolve immediatamente e gli aggiornamenti sono inoltrati attraverso il partialResults listener fino a quando la sessione non finisce.

La strada predefinita mantiene il comportamento del riconoscitore di parola legacy per compatibilità con il passato. Passa useOnDeviceRecognition: true solo dopo aver controllato .

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();

Smette di ascoltare e smonta le risorse native.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();

Interrompe forzatamente la sessione corrente.

Sul sistema Android, si tenta prima di fermare normalmente e poi si ricade sulla distruzione/riconfigurazione dopo timeout. Sul sistema iOS, la sessione corrente viene interrotta immediatamente.

Se è presente un trascrittore parziale memorizzato, viene emesso attraverso il partialResults listener con forced: true.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();

Ottiene il risultato di trascrizione parziale memorizzato più recente.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();

Aggiorna lo stato del pulsante di parola in tempo reale attuale.

Usalo insieme a continuousPTT o con un flusso personalizzato di attesa per la parola in tempo reale.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);

Ottiene le locuzioni supportate dal riconoscitore sottostante.

I dispositivi Android 13+ non espongono più questa lista; in quel caso languages è vuoto.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();

Restituisce se il plugin sta ascoltando attivamente la parola.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();

Ottiene lo stato di autorizzazione corrente.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();

Richiede i permessi per il microfono + riconoscimento vocale.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();
export interface SpeechRecognitionAvailability {
available: boolean;
}

Configura come il riconoscitore si comporta quando si chiama .

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;
}
export interface SpeechRecognitionMatches {
matches?: string[];
}

Opzioni per .

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;
}

Risultato da .

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[];
}

Opzioni per .

export interface PTTStateOptions {
/**
* Whether the PTT button is currently held.
*/
held: boolean;
}
export interface SpeechRecognitionLanguages {
languages: string[];
}
export interface SpeechRecognitionListening {
listening: boolean;
}

Mappa di autorizzazione restituita da checkPermissions e requestPermissions.

export interface SpeechRecognitionPermissionStatus {
speechRecognition: PermissionState;
}

Sollevato ogni volta che viene prodotto un risultato segmentato (solo per Android).

export interface SpeechRecognitionSegmentResultEvent {
matches: string[];
}

Sollevata ogni volta che viene prodotta una trascrizione parziale.

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;
}

Sollevata quando cambia lo stato di ascolto.

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';
}

Questa pagina è generata dal plugin. src/definitions.ts. Riavvia la sincronizzazione quando i dati pubblici API cambiano in fase di sviluppo.

Se stai utilizzando Getting Started per pianificare dashboard e API operazioni, connettilo con Utilizza @capgo/capacitor-riconoscimento-voce per la capacità nativa in Utilizza @capgo/capacitor-riconoscimento-voce Panoramica di API per i dettagli di implementazione in Panoramica di API Introduzione per i dettagli di implementazione in Introduzione Chiavi di API per i dettagli di implementazione in Chiavi di API Dispositivi per il dettaglio di implementazione in Dispositivi.