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">
+
+