diff --git a/app/build.gradle b/app/build.gradle index 0c81ab8..b6102f9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -44,7 +44,8 @@ dependencies { compile 'com.segway.robot:basesdk:0.6.376' compile 'com.segway.robot:robot-connectivity-sdk:0.5.98' compile 'com.segway.robot:emoji:0.1.28' - compile 'com.google.android.gms:play-services-base:12.0.0' + //compile 'com.google.android.gms:play-services-base:15.0.0' + compile 'com.google.cloud:google-cloud-speech:0.42.1-alpha' annotationProcessor 'com.google.auto.value:auto-value:1.2' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c0c3e08..8418687 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,7 +6,8 @@ - + + result = data + .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); + Toast.makeText(getApplicationContext(),(result.get(0)), + Toast.LENGTH_LONG).show(); + } + break; + } + + } + } + + private void initStatus() { String ip = getDeviceIp(); statusText.setText("My Ip: " + ip); @@ -86,5 +175,6 @@ protected void onDestroy() { this.loomoVisionService.disconnect(); this.loomoHeadService.disconnect(); this.loomoRecognitionService.disconnect(); + } } diff --git a/app/src/main/java/de/iteratec/slab/segway/remote/robot/service/LoomoRecognitionService.java b/app/src/main/java/de/iteratec/slab/segway/remote/robot/service/LoomoRecognitionService.java index 90a0800..cb352e7 100644 --- a/app/src/main/java/de/iteratec/slab/segway/remote/robot/service/LoomoRecognitionService.java +++ b/app/src/main/java/de/iteratec/slab/segway/remote/robot/service/LoomoRecognitionService.java @@ -2,6 +2,7 @@ import android.content.Context; import android.content.res.AssetManager; +import android.os.AsyncTask; import android.util.Log; import com.android.volley.Request; @@ -10,6 +11,18 @@ import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; +import com.google.api.gax.core.CredentialsProvider; +import com.google.api.gax.core.FixedCredentialsProvider; +import com.google.auth.oauth2.GoogleCredentials; +import com.google.auth.oauth2.ServiceAccountCredentials; +import com.google.cloud.speech.v1.RecognitionAudio; +import com.google.cloud.speech.v1.RecognitionConfig; +import com.google.cloud.speech.v1.RecognizeResponse; +import com.google.cloud.speech.v1.SpeechClient; +import com.google.cloud.speech.v1.SpeechRecognitionAlternative; +import com.google.cloud.speech.v1.SpeechRecognitionResult; +import com.google.cloud.speech.v1.SpeechSettings; +import com.google.protobuf.ByteString; import com.segway.robot.sdk.base.bind.ServiceBinder; import com.segway.robot.sdk.voice.Recognizer; import com.segway.robot.sdk.voice.VoiceException; @@ -20,6 +33,9 @@ import com.segway.robot.sdk.voice.recognition.WakeupListener; import com.segway.robot.sdk.voice.recognition.WakeupResult; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; @@ -36,6 +52,7 @@ public class LoomoRecognitionService { private static final String TAG = "LoomoRecognitionService"; public static final float MOVE_DELTA = 0.5f; private final Context context; + private SpeechClient speechClient; private Recognizer recognizer; private RequestQueue queue; @@ -210,6 +227,8 @@ public void onErrorResponse(VolleyError error) { loomoBaseService.resetPosition(); } + } else { + Log.d(TAG, "unknown command:" + recognitionResult); } return false; } @@ -255,6 +274,12 @@ public void disconnect() { if (this.queue != null) { this.queue.cancelAll(TAG); } + try { + this.speechClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + this.recognizer.unbindService(); } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d40b7eb..693c1d4 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,6 +7,12 @@ android:orientation="vertical" tools:context="de.iteratec.slab.segway.remote.robot.MainActivity"> +