app/src/main/java/com/example/jarvis_stts/MainActivity.kt aktualisiert

This commit is contained in:
2026-03-11 11:26:59 +00:00
parent 41335a9cfb
commit ed7eb4c373

View File

@@ -35,16 +35,6 @@ class MainActivity : AppCompatActivity(), TextToSpeech.OnInitListener {
private var availableVoices = mutableListOf<Voice>() private var availableVoices = mutableListOf<Voice>()
private var voiceNames = mutableListOf<String>() private var voiceNames = mutableListOf<String>()
private val speechRecognizerLauncher = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { result ->
if (result.resultCode == RESULT_OK && result.data != null) {
val spokenText = result.data!!.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS)?.get(0) ?: ""
tvStatus.text = "Ich: $spokenText"
webSocket?.send(spokenText)
}
}
private val speechRecognizerLauncher = registerForActivityResult( private val speechRecognizerLauncher = registerForActivityResult(
ActivityResultContracts.StartActivityForResult() ActivityResultContracts.StartActivityForResult()
) { result -> ) { result ->
@@ -52,7 +42,7 @@ class MainActivity : AppCompatActivity(), TextToSpeech.OnInitListener {
try { try {
porcupineManager?.start() porcupineManager?.start()
} catch (e: Exception) { } catch (e: Exception) {
Log.e("JARVIS", "Neustart nach Spracheingabe fehlgeschlagen") Log.e("JARVIS", "Neustart nach Spracheingabe fehlgeschlagen: ${e.message}")
} }
if (result.resultCode == RESULT_OK && result.data != null) { if (result.resultCode == RESULT_OK && result.data != null) {
@@ -226,12 +216,11 @@ class MainActivity : AppCompatActivity(), TextToSpeech.OnInitListener {
Log.d("JARVIS", "Porcupine erfolgreich gestartet") Log.d("JARVIS", "Porcupine erfolgreich gestartet")
} catch (e: Exception) { } catch (e: Exception) {
// DAS HIER IST WICHTIG: Was genau ist der Fehler? val errorMessage = when {
val errorMessage = when (e) { // Wir prüfen den Klassennamen als String, falls die Klasse beim Kompilieren nicht gefunden wird
is ai.picovoice.porcupine.PorcupineActivationException -> "Key ungültig oder Limit erreicht" e.javaClass.simpleName.contains("PorcupineActivationNetworkException") -> "Keine Internetverbindung zur Key-Prüfung"
is ai.picovoice.porcupine.PorcupineActivationNetworkException -> "Keine Internetverbindung zur Key-Prüfung" e.javaClass.simpleName.contains("PorcupineActivationException") -> "Key ungültig oder Limit erreicht"
is ai.picovoice.porcupine.PorcupineInvalidArgumentException -> "Falsches Keyword oder Argument" else -> e.message ?: "Initialisierungsfehler"
else -> e.message ?: "Unbekannter Fehler"
} }
Log.e("JARVIS", "Detail-Fehler: $errorMessage") Log.e("JARVIS", "Detail-Fehler: $errorMessage")