Getting Started
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guide für dieses 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.
Installieren
InstallationsabschnittSie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihrer KI-Tool mithilfe der folgenden Befehl hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann die folgende Anfrage:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-speech-recognition` plugin in my project.Wenn Sie eine manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die darunter angegebenen Plattform-spezifischen Anweisungen befolgen.
npm install @capgo/capacitor-speech-recognitionnpx cap syncImportieren
Abschnitt: Importierenimport { SpeechRecognition } from '@capgo/capacitor-speech-recognition';Schnellstart
Abschnitt: SchnellstartBereitstellung des Mikrofons, Anfügen eines partialResults Hörer, starten Sie dann eine Sitzung mit Streaming-Updates.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();
const partialListener = await SpeechRecognition.addListener('partialResults', ({ matches }) => { setTranscript(matches?.[0] ?? '');});
await SpeechRecognition.start({ language: 'en-US', partialResults: true });
// When leaving the screen:await SpeechRecognition.stop();await partialListener.remove();Abschnitt: Häufige Fehler
Section titled “Common pitfalls”- Cleanup: Entfernen Sie die Listener, wenn Sie das Bildschirm verlassen.
- LänderVerwenden Sie BCP 47-Tags, die Ihren UI entsprechen.
- Webnicht unterstützt; verwenden Sie ein Browser-Sprach-API separat, wenn Sie eine Web-only-Diktate benötigen.
API Übersicht
Überschrift: API Übersichtavailable
Überschrift: verfügbarÜberprüft, ob die native Spracherkennungsdienstleistung auf dem aktuellen Gerät verfügbar ist.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.available();console.log(result);isOnDeviceRecognitionAvailable
Überschrift: isOnDeviceRecognitionAvailableÜberprüft, ob die Plattform-Neuerung für die auf dem Bildschirm ausgewählte Sprache verfügbar ist.
Verwenden Sie diese Fähigkeitsprüfung, bevor Sie die Funktion aktivieren. useOnDeviceRecognition.
A true Ein Ergebnis bedeutet, dass das aktuelle Gerät, die Betriebssystemversion und die Region die neue
Gerätpfad für das jeweilige Betriebssystem verwenden können.
Rückgabewerte false wenn das Gerät nur den alten Recognizer-Pfad unterstützt.
Plattform SDK Dokumentation: iOS: Speech Android: SpeechRecognizer
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.isOnDeviceRecognitionAvailable();console.log(result);Audioaufzeichnung beginnt und Sprache in Text umwandelt.
When partialResults ist true, wird die zurückgegebene Promise sofort aufgelöst und die Updates werden über das partialResults Hörer bis zum Ende der Sitzung.
Die Standard-Pfad hält die Legacy-Erkennungsbahavior für die Rückwärtskompatibilität.\nPass useOnDeviceRecognition: true nur nach Überprüfung
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.start();console.log(result);Beendet die Abhörung und zerlegt native Ressourcen.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();forceStop
Sektion mit dem Titel “stop”Hört auf, zu hören, und zerlegt native Ressourcen.
On Android wird zunächst ein normales Stop versucht und dann fällt es zurück auf destroy/recreate nach timeout.
Auf iOS wird die aktuelle Sitzung sofort gestoppt.
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”Erhält die letzte im Cache gespeicherte Teiltranskription.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.getLastPartialResult();console.log(result);setPTTState
Abschnitt mit dem Titel “setPTTState”Aktualisiert den aktuellen Push-to-Talk-Button-Zustand.
Verwenden Sie dies zusammen mit continuousPTT mit einer benutzerdefinierten "Sprechen"-Fluss.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({ held: true });getSupportedLanguages
Abschnitt “getSupportedLanguages”Ermittelt die von dem zugrunde liegenden Recognizer unterstützten Ländercodes.
Android 13+ Geräte offenbaren diese Liste nicht mehr; in diesem Fall ist sie leer. languages ist leer.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.getSupportedLanguages();console.log(result);isListening
Abschnitt mit dem Titel „isListening“Returns whether the plugin is actively listening for speech.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.isListening();console.log(result);checkPermissions
Abschnitt mit dem Titel “checkPermissions”Abschnitt “getSupportedLanguages”
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.checkPermissions();console.log(result);requestPermissions
Abschnitt mit dem Titel “requestPermissions”Anfordert die Mikrofon- + Spracherkennungsrechte.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
const result = await SpeechRecognition.requestPermissions();console.log(result);Typenreferenz
Abschnitt mit dem Titel “Typenreferenz”SpeechRecognitionAvailability
Abschnitt mit dem Titel “SpeechRecognitionAvailability”export interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
Abschnitt mit dem Titel “SpeechRecognitionStartOptions”Konfigurieren Sie, wie der Recognizer verhält sich, wenn er . aufruft.
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 “SpeechRecognitionMatches”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
Abschnitt mit dem Titel “Sprachverarbeitungssprachen”export interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
Abschnitt mit dem Titel “Sprachverarbeitung zum Hören”export interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
Abschnitt mit dem Titel „SpeechRecognitionPermissionStatus“Erlaubnismappe, die von checkPermissions und requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
Abschnitt mit dem Titel „SpeechRecognitionSegmentResultEvent“Ausgelöst, wenn ein segmentierter Ergebnis erzeugt wird (nur Android).
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
Abschnitt mit dem Titel „SpeechRecognitionPartialResultEvent“Ausgelöst, wenn eine teilweise Transkription erzeugt 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 der Hörzustand sich ä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';}Quellwahrheit
Abschnitt: QuellwahrheitDiese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisierung, wenn die öffentliche API upstream geändert wird.
Fortsetzen von Getting Started
Abschnitt: Fortsetzen von Getting StartedWenn Sie Capgo verwenden Getting Started um das Dashboard und die API-Operationen zu planen, verbinden Sie es mit Verwendung von @capgo/capacitor-Spracherkennung Ermöglichen Sie die native Fähigkeit in @capgo/capacitor-Sprachverarbeitung, API Übersicht Ermöglichen Sie die Implementierungsdetails in API Übersicht, Einführung Ermöglichen Sie die Implementierungsdetails in Einführung, API Schlüssel Ermöglichen Sie die Implementierungsdetails in API Schlüssel und Geräte für die Implementierungsdetails in Geräten.