summaryrefslogtreecommitdiffstats
path: root/packages/TtsService/src/android/tts/SynthProxy.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/TtsService/src/android/tts/SynthProxy.java')
-rwxr-xr-xpackages/TtsService/src/android/tts/SynthProxy.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/packages/TtsService/src/android/tts/SynthProxy.java b/packages/TtsService/src/android/tts/SynthProxy.java
index bb16b14..41ff92a 100755
--- a/packages/TtsService/src/android/tts/SynthProxy.java
+++ b/packages/TtsService/src/android/tts/SynthProxy.java
@@ -15,6 +15,8 @@
*/
package android.tts;
+import android.media.AudioManager;
+import android.media.AudioSystem;
import android.util.Log;
import java.lang.ref.WeakReference;
@@ -52,8 +54,13 @@ public class SynthProxy {
/**
* Synthesize speech and speak it directly using AudioTrack.
*/
- public int speak(String text) {
- return native_speak(mJniData, text);
+ public int speak(String text, int streamType) {
+ if ((streamType > -1) && (streamType < AudioSystem.getNumStreamTypes())) {
+ return native_speak(mJniData, text, streamType);
+ } else {
+ Log.e("SynthProxy", "Trying to speak with invalid stream type " + streamType);
+ return native_speak(mJniData, text, AudioManager.STREAM_MUSIC);
+ }
}
/**
@@ -156,7 +163,7 @@ public class SynthProxy {
private native final int native_stop(int jniData);
- private native final int native_speak(int jniData, String text);
+ private native final int native_speak(int jniData, String text, int streamType);
private native final int native_synthesizeToFile(int jniData, String text, String filename);