Mulai Membuat
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
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.
Instal
Judul bagian “Instal”Anda dapat menggunakan Pengaturan Setup Bantuan AI untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-speech-recognition` plugin in my project.Jika Anda lebih suka Manual Setup, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:
bun add @capgo/capacitor-speech-recognitionbunx cap syncImpor
Judul bagian “Impor”import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';Ringkasan API
Judul bagian “Ringkasan API”available
Judul bagian “tersedia”Mengecek apakah layanan pengenalan suara asli dapat digunakan pada perangkat saat ini.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();isOnDeviceRecognitionAvailable
Bagian berjudul “isOnDeviceRecognitionAvailable”Mengecek apakah jalur pengenalan suara asli yang lebih baru pada perangkat dapat digunakan untuk lokasi yang dipilih.
Ini adalah pengecekan kemampuan yang harus digunakan sebelum mengaktifkan useOnDeviceRecognitionHasilnya berarti perangkat, versi OS, dan lokasi saat ini dapat menggunakan jalur yang lebih baru untuk platform tersebut. true Kembali
Ketika perangkat hanya mendukung jalur recognizer yang lebih lama. false Dokumen __CAPGO_KEEP_0__ platform:
Platform SDK docs: iOS: Suara Android: Pengenalan Suara
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();Mengambil audio dan menerjemahkan percakapan.
Ketika partialResults adalah true, maka promise yang dikembalikan segera diselesaikan dan perubahan
streamed melalui partialResults pengguna hingga sesi berakhir.
Jalan default menjaga perilaku pengenalan suara lama untuk konsistensi ke belakang.
Lampirkan useOnDeviceRecognition: true hanya setelah memeriksa
.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();Menghentikan mendengarkan dan menurunkan sumber daya asli.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();forceStop
Bab berjudul “forceStop”Menghentikan paksa sesi saat ini.
Pada Android, hal ini pertama mencoba menghentikan normal dan kemudian kembali ke destroy/recreate setelah timeout.
Pada iOS, sesi saat ini dihentikan langsung.
Jika transkripsi parsial disimpan, maka akan dikeluarkan melalui partialResults pengguna dengan forced: true.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();getLastPartialResult
Bab berjudul “getLastPartialResult”Mendapatkan hasil transkripsi parsial yang disimpan terakhir.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();setPTTState
Bagian berjudul “setPTTState”Mengupdate status tombol bicara ke depan saat ini.
Gunakan bersama dengan continuousPTT atau dengan alur tahan bicara yang disesuaikan.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);getSupportedLanguages
Bagian berjudul “getSupportedLanguages”Mengembalikan daftar bahasa yang didukung oleh pengenalan suara yang tersembunyi.
Perangkat Android 13+ tidak lagi menampilkan daftar ini; dalam kasus tersebut languages kosong.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();isListening
Bagian berjudul “isListening”Mengembalikan apakah plugin aktif mendengarkan suara.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();checkPermissions
Bagian berjudul “checkPermissions”Mendapatkan status izin saat ini.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();requestPermissions
Bagian berjudul “requestPermissions”Mengajukan izin mikrofon + pengenalan suara.
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();Referensi Tipe
Bagian berjudul “Referensi Tipe”SpeechRecognitionAvailability
Bagian berjudul “Ketersediaan Pengenalan Suara”export interface SpeechRecognitionAvailability { available: boolean;}SpeechRecognitionStartOptions
Bagian berjudul “Opsi Pengenalan Suara”Konfigurasi cara pengenalan suara berperilaku ketika memanggil .
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
Bagian berjudul “SpeechRecognitionMatches”export interface SpeechRecognitionMatches { matches?: string[];}ForceStopOptions
Bagian berjudul “ForceStopOptions”Opsi untuk .
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
Bagian berjudul “LastPartialResult”Hasil dari .
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
Bagian berjudul “PTTStateOptions”Opsi untuk .
export interface PTTStateOptions { /** * Whether the PTT button is currently held. */ held: boolean;}SpeechRecognitionLanguages
Bagian berjudul “Bahasa Pengenalan Suara”export interface SpeechRecognitionLanguages { languages: string[];}SpeechRecognitionListening
Bagian berjudul “Pengenalan Suara Mendengarkan”export interface SpeechRecognitionListening { listening: boolean;}SpeechRecognitionPermissionStatus
Bagian berjudul “Status Izin Pengenalan Suara”Peta izin yang dikembalikan oleh checkPermissions dan requestPermissions.
export interface SpeechRecognitionPermissionStatus { speechRecognition: PermissionState;}SpeechRecognitionSegmentResultEvent
Bagian berjudul “Event Hasil Segmentasi Pengenalan Suara”Ditinggalkan ketika hasil segmentasi diproduksi (hanya Android).
export interface SpeechRecognitionSegmentResultEvent { matches: string[];}SpeechRecognitionPartialResultEvent
Bagian berjudul “SpeechRecognitionPartialResultEvent”Ditimbulkan ketika transkripsi parsial diproduksi.
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
Bagian berjudul “SpeechRecognitionListeningEvent”Ditimbulkan ketika status mendengarkan berubah.
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';}Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Halaman ini dihasilkan dari plugin’s. src/definitions.tsRe-run sinkronisasi ketika publik API berubah di atas.
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Mulai untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/capacitor-pengenalan-suara untuk kemampuan asli dalam Menggunakan @capgo/capacitor-pengenalan-suara, API Ringkasan untuk detail implementasi dalam API Ringkasan, Pendahuluan untuk detail implementasi dalam Pendahuluan, API Kunci untuk detail implementasi dalam API Kunci, dan Perangkat untuk detail implementasi di Perangkat.