Einstieg
Einen Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
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.
Installieren
Abschnitt mit dem Titel ‘Installieren’bun add @capgo/capacitor-speech-recognitionbunx cap syncImportieren
Abschnitt mit dem Titel ‘Importieren’import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';API Übersicht
Abschnitt mit dem Titel ‘API Übersicht’available
VerfügbarÜberprüft, ob die native Spracherkennungsdienst auf dem aktuellen Gerät verfügbar ist.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();isOnDeviceRecognitionAvailable
Abschnitt mit dem Titel ‘ist isOnDeviceRecognitionAvailable’Überprüft, ob die Plattform die neueren on-Device-Erkennungspfade für die ausgewählte Region verfügbar macht.
Dies ist die Fähigkeitsprüfung, die Sie vor der Aktivierung verwenden sollten. useOnDeviceRecognitionEin Ergebnis von "A" bedeutet, dass das aktuelle Gerät, die Betriebssystemversion und die Region den neueren on-Device-Pfad für diese Plattform verwenden können. true Gibt zurück, wenn das Gerät nur den Legacy-Erkennungspfad unterstützt.
Plattform __CAPGO_KEEP_0__ Dokumentation: false iOS:
Platform SDK docs: iOS: Android: SpeechRecognizer Zur Vervollständigung in die Zwischenablage kopieren
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();Begint die Aufnahme von Audio und transkribiert den Gesprächsverlauf.
Wenn partialResults ist true, löst die zurückgegebene Promise sofort auf und sendet Updates über den partialResults Listener, bis die Sitzung beendet ist.
Der Standardpfad hält die Legacy-Recognizer-Verhaltensweise für die Rückwärtskompatibilität aufrecht. Passen Sie useOnDeviceRecognition: true nur nach, wenn Sie sichergestellt haben, dass
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();Beendet das Abhören und zerlegt die nativen Ressourcen.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();Beendet die aktuelle Sitzung.
Bei Android-Geräten wird zunächst versucht, die Sitzung normal zu beenden und dann auf Zerstören/Neu erstellen zurückgegriffen. timeoutBei iOS-Geräten wird die aktuelle Sitzung sofort beendet.
Wenn ein Teiltranskript im Cache gespeichert ist, wird es über den partialResults Listener mit forced: true.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();getLastPartialResult
Abschnitt mit dem Titel “getLastPartialResult”Liefert das letzte im Cache gespeicherte Teiltranskript zurück.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();setPTTState
Abschnitt mit dem Titel “setPTTState”Aktualisiert den aktuellen Push-to-Talk-Schaltzustand.
Verwenden Sie dies zusammen mit continuousPTT oder mit einer benutzerdefinierten Halten-zum-Sprechen-Fluss.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);getSupportedLanguages
Abschnitt mit dem Titel “getSupportedLanguages”Ermittelt die von dem zugrunde liegenden Recognizer unterstützten Ländercodes.
Android-Geräte ab Version 13 stellen diese Liste nicht mehr zur Verfügung; in diesem Fall ist sie leer. languages Zur Vorschau in die Zwischenablage kopieren
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();Zur Vorschau in die Zwischenablage kopieren
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();checkPermissions
Ermittelt den aktuellen Zustand der Berechtigungen.Copy to clipboard
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();requestPermissions
Abschnitt mit dem Titel „requestPermissions”Bittet um die Berechtigungen für das Mikrofon + Sprachverarbeitung.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();Typenreferenz
Abschnitt mit dem Titel „Typenreferenz”SpeechRecognitionAvailability
Abschnitt mit dem Titel „Sprachverarbeitungszugänglichkeit”export interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
Abschnitt mit dem Titel „Sprachverarbeitungszugangsparameter”Konfiguriert, wie der Erkennungsdienst sich verhält, wenn . aufgerufen wird.
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
Abschnitt mit dem Titel „Sprachverarbeitungsmatches”export interface SpeechRecognitionMatches { matches?: string[];}ForceStopOptions
Abschnitt mit dem Titel „ForceStopOptions“Optionen für .
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
Abschnitt mit dem Titel „Letzter Teilresultat“Resultat von .
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
Abschnitt mit dem Titel „PTTStateOptions“Optionen für .
export interface PTTStateOptions { /** * Whether the PTT button is currently held. */ held: boolean;}SpeechRecognitionLanguages
Zur Zwischenablage kopierenexport interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
Abschnitt mit dem Titel “SpeechRecognitionListening”export interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
Abschnitt mit dem Titel “SpeechRecognitionPermissionStatus”Zugriffsmappe, die von checkPermissions und requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
Abschnitt mit dem Titel “SpeechRecognitionSegmentResultEvent”Ausgelöst, wenn ein segmentierter Ergebnis produziert wird (nur Android).
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
Abschnitt mit dem Titel “SpeechRecognitionPartialResultEvent”Ausgelöst, wenn eine teilweise Transkription produziert wird.
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
Abschnitt mit dem Titel “SpeechRecognitionListeningEvent”Ausgelöst, wenn sich der Zuhörzustand ändert.
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';}Quelle der Wahrheit
Abschnitt mit dem Titel “Quelle der Wahrheit”Diese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisierung, wenn die öffentliche API upstream geändert wird.