Android Studio: Sprache erkennen und auswerten?

3 Antworten

Das geht ganz bestimmt, nur bin ich mir nicht ganz sicher, ob es empfehlenswert wäre, da du dabei ziemlich viel Ressourcen verschleuderst. Die App muss ja durchgehend aktiv Ton aufnehmen und auswerten.

Ein kurzes, einfaches Tutorial findet sich hier. Das Klickevent kann man durch jedwediges beliebige andere Event austauschen. Vielleicht schaust du dabei mal, ob du das Ganze auch in einen extra Thread verschieben kannst.

Erstmal Vielen Dank für Deine Antwort! :)  Auch wenn es sicher viele Ressourcen verschwendet, ist das Ziel meiner App "mit der App zu kommunizieren" ohne das Gerät bedienen zu müssen.

"Vielleicht schaust du dabei mal, ob du das Ganze auch in einen extra Thread verschieben kannst."

Habe ich leider noch nie gemacht...meine Erfahrung ist leider noch nicht ganz so groß in Sachen Java...könntest du mir eventuell ein konkretes "Codebeispiel" geben? Nur wenn es nicht zu viel Aufwand ist ;)

0
@Jul8910

Schau einfach mal in die Dokumentation von Java oder besser Java für Android. Dort werden Threads oder BackgroundWorker in eigenen Artikeln erklärt.

0
@regex9

Ich habe schon einige Artikel über Threads gefunden. Das Problem ist dabei nur, dass ich nicht richtig weiß, wozu ich den Thread brauche...

0
@Jul8910

Dann hast du die Artikel nicht durchgelesen. Threads ermöglichen die parallele Ausführung von Code. Ich habe mir gedacht, dass deine App vielleicht noch etwas anderes macht, als nur auf den Sprachinput zu warten. Sollte dem nicht so sein, brauchst du doch keinen Thread.

0
@regex9

Doch da hast du Recht...es sollen natürlich noch aqndere Sachen ablaufen. Aber nun stellt sich, denke ich erstmal die Frage, wie ich den Speech Recognizer "code". Kannst du mir da helfen? :)

0
@regex9

Ich werde es mir morgen anschauen und mich dann nochmal melden...:)

0
@Jul8910

Habe mir jetzt das "Tutorial" durchgelesen und die Anleitung befolgt...(jedoch noch nicht mit den Threads :) )...Nun meine Frage: wie kann ich das ändern, dass ich nicht auf den Button drücken muss...(oder geht das mit dem Thread?)

0
@Jul8910

Das habe ich in meiner obigen Antwort bereits geschrieben.

0
@regex9

Meinst du das hier:

Ein kurzes, einfaches Tutorial findet sich hier. Das Klickevent kann man durch jedwediges beliebige andere Event austauschen. Vielleicht schaust du dabei mal, ob du das Ganze auch in einen extra Thread verschieben kannst.

..?

0

Wenn du nicht unbedingt den Ton auswerten und durch jede Wortliste jagen willst, um nach einer Übereinstimmung zu suchen, dann schau einfach, welche Sprache für das System angegeben ist.

Ja, das habe ich (glaube ich) auch schon gemacht...wie aber kann ich einen "Speech Recognition Listener" setzen, falls es sowas in der Art gibt?

0

Klar gibt es sowas. Google zum Beispiel hat ein riesiges neuronales Netz aufgebaut und dauerhaft mit Fragen trainiert. Sprache zu Text und dann die Erkennung. Sprache zu Text ist an sich schon schwer genug, den Erkennungsschritt könntest du vereinfachen, indem du den Text per Google Übersetzer erkennen lässt und dann zurücklieferst. Ansonsten musst du dich mehr einlesen und sehr viel Arbeit reinstecken

0

Danke für deine Antwort...aber die hilfreichen Links, die dort angegeben sind verstehe ich nicht :(

0
@tavkomann

Bei der zweiten Antwort steht am Schluss noch: 

"To make it look more intelligent you can implement a background service and keeps listening to user's voice input. "

Das ist ja eigentlich das was ich will...Aber es wurde (glaube ich) nicht beschrieben, wie man das machen kann... :(

0
@Jul8910

Der Background Service ist ein Thread / Background Worker.

1

Warum kommt wenn ich den Button drücke die meldung das die App gestoppt wurde (Android Studio, Java)?

https://pastebin.com/GUJ8aqZA

...zur Frage

Android Studio Map activity will nicht starten was tun?

Ich habe mir ein neues Projekt erstellt und wollte es jetzt auf meinem Handy starten. Wenn ich nun aber auf Run bzw auf den play Button drücke kommt folgende Fehlermeldung:

 Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 

Diese kommt aber nur bei dem Projekt wo ich die Map activity ausgewählt habe, bei den anderen Projekten klappt es. Was soll diese Fehlermeldung bedeuten und wie kriege ich sie weg? LG Aaron

...zur Frage

Android Studio - Intent öffnet nicht vorprogrammierte sondern leere Activity?

Hallo, ich habe folgendes Problem mit Android Studio:

Ich habe bei meiner Main Activity einen Button eingefügt welcher eine neue Activity starten soll. Wenn ich die app nun aber starte und den Button Drucke öffnet sich eine leere Activity und im Catlog steht "startActivity_idle" ich habe die neue Activity auch schon im Manifest eingetragen!

Jemand eine Idee wie ich das beheben kann!? Wäre unfassbar hilfreich! Danke schon mal im voraus!

...zur Frage

Wie kann ich die Quersumme berechnen lassen?

Ich muss für eine Übung für mein Studium unter anderem die Quersumme berechnen lassen. Die Quersumme soll dann mit tvOutput ausgegeben werden. (Siehe Bilder)

Das eigentliche Problem ist nicht wirklich die Rechnung, sondern die Verknüpfung der Variablen und Funktionen in Java.

button_qs, input_qs, output_qs sind die Namen des Buttons und der Textfelder.

Die Aufgabe sagt außerdem, das man die Rechnung in private int getDigitSum(int n) auslagert.

Ich habe leider keine Ahnung wie ich die Eingabe von etNumber (input_qs) in getDigitSum(int n) benutze und damit rechne. Und dann soll die ausgerechnete Variable noch durch tvOutput ausgegeben werden.

...zur Frage

Android Studion - Bei OnClick den Text mehrere Buttons ändern?

Guten Tag, derzeit versuche ich mich etwas in Android Studio. Wenn man nun auf einen Button klickt, so soll sich der Text von zwei Knöpfen ändern.

Mein Versuch sieht so aus: public void onButtonClickGut(View v) { String ausgabe; ausgabe = "Das ist schoen"; text.setText(ausgabe);

    Button gut=(Button) v;
    ((Button) v).setText("Runde2");

    Button schlecht=(Button) v;
    ((Button) v).setText("Runde2");

Nun ist es aber so, dass dann nur der zu erst genannte geändert wird, wie kann ich das ändern?

Vielen Dank

...zur Frage

Warum hängt sich Android Studio bei jedem Programmstart auf?

Hallo zusammen,

Seid einem Tag passiert es mir ständig, dass wenn ich mein Spiel aus Android Studio starte und auf einen Button drücke mein Computer plötzlich unbrauchbar langsam wird(Die Maus bewegt sich langsam stockend über den Bildschirm, Actionen werden erst nach 30 Sekunden verarbeitet). Ich hatte davor noch nie probleme mit Android Studio und es passiert ja auch nur, wenn ich auf diesen einen Button drücke. Kann es sein das es deswegen gar nicht an Android Studio liegt sondern an meinem Code? Oder ratet ihr mir generell eine andere IDE zu benutzen, denn mein PC hat nur 4 GB RAM.

Danke im Voraus

LG UbuLin :D

...zur Frage

Was möchtest Du wissen?