TranscripteurLocal.swift
35 lignes · 1325 octets
import Foundation /// État du moteur de transcription locale. enum EtatTranscripteur { /// Le moteur est disponible et autorisé. case disponible /// Le moteur est absent, non autorisé, ou indisponible sur cet appareil. case indisponible } /// Interface de transcription locale (ASR sur l'appareil). /// /// Implémentée par `TranscripteurSpeech` (SFSpeechRecognizer on-device). /// Un faux (`FakeTranscripteurLocal`) est fourni dans les tests. /// /// Quand SFSpeechRecognizer est indisponible ou que la permission est refusée, /// `etat` vaut `.indisponible` et l'UI doit proposer le mode serveur. /// /// Port direct de `TranscripteurLocal.kt` (Android). protocol TranscripteurLocal: AnyObject { /// État courant du moteur de transcription. var etat: EtatTranscripteur { get } /// Alimente le moteur avec un buffer PCM capturé par AudioNoteRecorder. /// Appelé sur le thread de capture. /// - Returns: Résultat partiel si disponible, `nil` sinon. func accepterEchantillons(_ data: [Int16]) -> String? /// Retourne le résultat final après la fin de l'enregistrement. /// - Returns: Le texte transcrit (peut être vide). func finaliser() -> String /// Réinitialise l'état interne pour une nouvelle session d'enregistrement. func reinitialiser() }
GitRust