Zum Inhalt springen

Getting Started

GitHub

Sie können unser AI-gestütztes Setup verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem AI-Tool hinzu, indem Sie folgenden Befehl ausführen:

Terminalfenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Verwenden Sie dann die folgende Anweisung:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-speech-recognition` plugin in my project.

Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die untenstehenden plattform-spezifischen Anweisungen befolgen:

Terminal-Fenster
bun add @capgo/capacitor-speech-recognition
bunx cap sync
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';

Überprüft, ob die native Spracherkennungsdienstleistung auf dem aktuellen Gerät verfügbar ist.

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

Überprüft, ob die Plattform die neueren auf-Geräte-Erkennungspfade für die ausgewählte Region verfügbar macht.

Dies ist die Fähigkeitsprüfung, die Sie vor der Aktivierung verwenden sollten. useOnDeviceRecognition. A true Ein Ergebnis bedeutet, dass das aktuelle Gerät, die Betriebssystemversion und die Region den neueren auf-Geräte-Pfad für diese Plattform verwenden können.

Rückgabewerte false Wenn das Gerät nur den Legacy-Recognizer-Pfad unterstützt.

Plattform SDK Dokumentation: iOS: Sprache SpeechRecognizer

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

Begins capturing audio and transcribing speech.

Wenn partialResults ist true, die zurückgegebene Promise löst sich sofort auf und die Updates werden bis zum Ende der Sitzung durch den partialResults Listener gestreamt.

Die Standardroute hält die Legacy-Recognizer-Verhaltensweise für die Rückwärtskompatibilität aufrecht. Pass useOnDeviceRecognition: true nur nachdem Sie geprüft haben .

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

Hört auf und zerlegt native Ressourcen.

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

Die aktuelle Sitzung beendet.

Bei Android-Geräten wird zuerst ein normaler Stop versucht und dann fällt man auf destroy/recreate zurück. timeout. Bei iOS-Geräten wird die aktuelle Sitzung sofort beendet.

Wenn ein Teiltranskript im Cache gespeichert ist, wird es über den partialResults Zuhörer mit forced: true.

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

Die letzte im Cache gespeicherte Teiltranskriptionsergebnis erhält.

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

Aktualisiert den aktuellen Zustand der Sprachzusammenfassungstaste.

Verwenden Sie dies zusammen mit continuousPTT oder mit einer benutzerdefinierten Halte-zum-Sprechen-Fluss.

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

Ermittelt die von der zugrunde liegenden Erkennung unterstützten Sprachen.

Android-Geräte ab Version 13 offenbaren diese Liste nicht mehr; in diesem Fall ist sie leer. languages Auf die Zwischenablage kopieren

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

__CAPGO_KEEP_0__

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

Ermittelt den aktuellen Zustand der Berechtigungen.

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

Bittet um die Berechtigungen für das Mikrofon und die Sprachverarbeitung.

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

Konfigurieren Sie, wie der Recognizer verhält sich, wenn er 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;
}
export interface SpeechRecognitionMatches {
matches?: string[];
}

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

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

Optionen für .

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

Erlaubnismappe zurückgegeben von checkPermissions und requestPermissions.

export interface SpeechRecognitionPermissionStatus {
speechRecognition: PermissionState;
}

Ausgelöst, wenn ein segmentiertes Ergebnis erzeugt wird (nur Android).

export interface SpeechRecognitionSegmentResultEvent {
matches: string[];
}

Wird ausgelöst, sobald eine teilweise Transkription erstellt 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;
}

Wird ausgelöst, wenn sich der Aufnahmestatus ä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';
}

Diese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisierung, wenn die öffentliche API sich im Quellcode ändert.

Wenn Sie es verwenden Einstieg um das Dashboard und API-Operationen zu planen, verbinden Sie es mit Verwendung von @capgo/capacitor-Sprachverarbeitung für die native Fähigkeit in Verwendung von @capgo/capacitor-Sprachverarbeitung, API-Übersicht für die Implementierungsdetails in API-Übersicht, Einführung für die Implementierungsdetails in Einführung, API-Schlüssel für die Implementierungsdetails in API-Schlüssel, und Geräte für die Implementierungsdetails in Geräten.