Getting Started
このプラグインの全体のマークダウンガイドとインストール手順を含む設定プロンプトをコピーしてください。
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.
インストール
「インストール」というセクションAI-Assisted セットアップを使用してプラグインをインストールすることができます。AI ツールに Capgo スキルを追加するには、以下のコマンドを使用してください。
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins次に、以下のプロンプトを使用してください。
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-speech-recognition` plugin in my project.Manual Setup を好む場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム固有の指示に従ってください。
bun add @capgo/capacitor-speech-recognitionbunx cap syncインポート
「インポート」のセクションimport { SpeechRecognition } from '@capgo/capacitor-speech-recognition';API オーバービュー
「API オーバービュー」のセクションavailable
利用可能利用可能なデバイス上のネイティブの音声認識サービスが利用可能であるかどうかを確認します。
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();isOnDeviceRecognitionAvailable
isOnDeviceRecognitionAvailableChecks whether the platform’s newer on-device recognition path is available for the selected locale.
This is the capability check you should use before enabling useOnDeviceRecognition.
A true result means the current device, OS version, and locale can use the newer
on-device path for that platform.
Returns false when the device only supports the legacy recognizer path.
Platform SDK docs: iOS: Speech Android: iOS:
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();音声の収集と会話の文字起こしを開始します。
「 partialResults 」が指定されると、すぐに解決されるPromiseが返され、セッションが終了するまで更新は trueリスナーを通じてストリーミングされます。 partialResults デフォルトのパスは、後方互換性のためにレガシーリコGNIZERの動作を維持します。パス
を指定する前に、 useOnDeviceRecognition: true を確認してください。
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();リスニングを停止し、ネイティブリソースを解放します。
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();forceStop
Section titled “forceStop”現在のセッションを強制終了します。
Androidの場合、この最初に通常の停止を試みて、次にdestroy/recreateにフォールバックします。 timeoutiOSの場合、現在のセッションは即座に停止されます。
キャッシュされた部分トランスクリプトが残っている場合、その部分トランスクリプトはリスナーに「 partialResults 」で送信されます。 forced: true.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();getLastPartialResult
Section titled “getLastPartialResult”キャッシュされた最後の部分トランスクリプト結果を取得します。
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();setPTTState
Section titled “setPTTState”現在のプッシュ・トゥ・トークン・ボタンの状態を更新します。
この機能を使用するには continuousPTT またはカスタムのホールドトゥートークフローと一緒に使用してください。
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);getSupportedLanguages
「getSupportedLanguages」セクション認識エンジンがサポートする言語のリストを取得します。
Android 13+ デバイスでは、このリストは公開されなくなりました。その場合、空のリストになります。 languages クリップボードにコピー
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();isListening
プラグインが音声認識を実行しているかどうかを確認します。クリップボードにコピー
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();checkPermissions
__CAPGO_KEEP_0__現在の許可状態を取得します。
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();requestPermissions
「requestPermissions」セクションマイク + 会話認識の許可を要求します。
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();型参照
「型参照」セクションSpeechRecognitionAvailability
「会話認識の利用可能性」セクションexport interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
「会話認識の開始オプション」セクション会話認識の動作を設定します。
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
「SpeechRecognitionMatches」セクションexport interface SpeechRecognitionMatches { matches?: string[];}ForceStopOptions
「ForceStopOptions」セクションのオプション
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
「LastPartialResult」セクションの結果
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
「PTTStateOptions」セクションのオプション
export interface PTTStateOptions { /** * Whether the PTT button is currently held. */ held: boolean;}SpeechRecognitionLanguages
「SpeechRecognitionLanguages」セクションexport interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
「音声認識のリスニング」セクションexport interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
「音声認識の許可状態」セクション__CAPGO_KEEP_0__によって返される許可マップ checkPermissions と requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
「音声認識のセグメント結果イベント」セクション__CAPGO_KEEP_0__によって発生するセグメント結果が生成される場合 (Android 限定)
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
「音声認識のパーシャル結果イベント」セクション__CAPGO_KEEP_0__によって発生するパーシャルトランスクリプション
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
「SpeechRecognitionListeningEvent」のセクションリスニング状態が変化したときに発生します。
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';}真実の源
「真実の源」のセクションこのページはプラグインの src/definitions.ts公開APIがアップストリームで変更されたときに再度Syncを実行してください。
Getting Startedから続けて
「Getting Startedから続けて」のセクションあなたが Getting Started ダッシュボードとAPIの運用計画を立てるには、 Using @capgo/capacitor-speech-recognition Using @capgo/capacitor-speech-recognition APIの概要 for the implementation detail in API Overview 概要 for the implementation detail in Introduction APIの鍵 for the implementation detail in API Keys デバイス for the implementation detail in Devices。