Remove AAC encoding from voice recognizer

pull/120/head
Alex Baker 11 years ago
parent 2b0925471c
commit 373a01c585

@ -1,10 +1,5 @@
package com.todoroo.aacenc;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.ProgressDialog;
@ -19,6 +14,10 @@ import android.speech.RecognizerIntent;
import android.speech.SpeechRecognizer;
import android.util.Log;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayList;
@TargetApi(8)
public class RecognizerApi implements RecognitionListener {
@ -26,8 +25,6 @@ public class RecognizerApi implements RecognitionListener {
public void playbackFailed(String file);
}
private String aacFile;
private Context context;
public static interface RecognizerApiListener {
@ -40,20 +37,9 @@ public class RecognizerApi implements RecognitionListener {
public RecognizerApi(Context context) {
this.context = context;
File dir = context.getFilesDir();
aacFile = dir.toString() + "/audio.aac";
sr = SpeechRecognizer.createSpeechRecognizer(context);
}
public void setTemporaryFile(String fileName) {
aacFile = context.getFilesDir().toString() + "/" + fileName;
}
public String getTemporaryFile() {
return aacFile;
}
public void setListener(RecognizerApiListener listener) {
this.mListener = listener;
}
@ -70,12 +56,10 @@ public class RecognizerApi implements RecognitionListener {
}
}
private AACEncoder encoder = new AACEncoder();
private long speechStarted = 0;
private SpeechRecognizer sr;
private ProgressDialog speakPd;
private ProgressDialog processingPd;
private String processingMessage;
/**
* Start speech recognition
@ -113,16 +97,6 @@ public class RecognizerApi implements RecognitionListener {
speechStarted = System.currentTimeMillis();
}
/**
* Convert AAC file to M4A
*
* @param toFile
* @throws IOException
*/
public void convert(String toFile) throws IOException {
new AACToM4A().convert(context, aacFile, toFile);
}
public void cancel() {
sr.cancel();
}
@ -159,7 +133,7 @@ public class RecognizerApi implements RecognitionListener {
return;
processingPd = new ProgressDialog(context);
processingPd.setMessage(processingMessage);
processingPd.setMessage("");
processingPd.setIndeterminate(true);
processingPd.setCancelable(true);
processingPd.setOnCancelListener(new OnCancelListener() {
@ -169,18 +143,6 @@ public class RecognizerApi implements RecognitionListener {
}
});
processingPd.show();
long delta = System.currentTimeMillis() - speechStarted;
int sampleRate = (int) (baos.size() * 1000 / delta);
sampleRate = 8000; // THIS IS A MAGIC NUMBER@?!!?!?!
// can i has calculate?
encoder.init(64000, 1, sampleRate, 16, aacFile);
encoder.encode(baos.toByteArray());
encoder.uninit();
}
@Override

@ -28,7 +28,6 @@ import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.activity.AstridActivity;
@ -378,7 +377,7 @@ public class QuickAddBar extends LinearLayout {
return voiceRecognizer;
}
public void startVoiceRecognition() {
voiceRecognizer.startVoiceRecognition(activity, fragment, Long.toString(DateUtilities.now()));
voiceRecognizer.startVoiceRecognition(activity, fragment);
}
public void setupRecognizerApi() {

@ -78,9 +78,8 @@ public class VoiceRecognizer {
return instance;
}
public void startVoiceRecognition(Context context, Fragment fragment, String currentVoiceFile) {
public void startVoiceRecognition(Context context, Fragment fragment) {
if (speechRecordingAvailable(context) && recognizerApi != null) {
recognizerApi.setTemporaryFile(currentVoiceFile);
recognizerApi.start(Constants.PACKAGE,
context.getString(R.string.audio_speak_now),
context.getString(R.string.audio_encoding));

Loading…
Cancel
Save