Implement SpeechSynthesis.getAudioFormat in Java.

This commit is contained in:
Reece H. Dunn
2015-10-07 20:51:17 +01:00
parent c62a91fc0f
commit 92ac250ddd
2 changed files with 2 additions and 21 deletions
-18
View File
@@ -104,33 +104,23 @@ unicode_string::~unicode_string()
#define LOG_TAG "eSpeakService"
#define DEBUG true
enum audio_encoding {
ENCODING_INVALID = 0x00,
ENCODING_DEFAULT = 0x01,
ENCODING_PCM_16BIT = 0x02,
ENCODING_PCM_8BIT = 0x03
};
enum synthesis_result {
SYNTH_CONTINUE = 0,
SYNTH_ABORT = 1
};
const int DEFAULT_AUDIO_FORMAT = ENCODING_PCM_16BIT;
const int DEFAULT_BUFFER_SIZE = 1000;
struct native_data_t {
JNIEnv *env;
jobject object;
int sampleRate;
int audioFormat;
int bufferSizeInMillis;
native_data_t() {
env = NULL;
object = NULL;
sampleRate = 0;
audioFormat = DEFAULT_AUDIO_FORMAT;
bufferSizeInMillis = DEFAULT_BUFFER_SIZE;
}
};
@@ -239,14 +229,6 @@ JNICALL Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetSampleRate(
return (jint)(nat ? nat->sampleRate : 0);
}
JNIEXPORT jint
JNICALL Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetAudioFormat(
JNIEnv *env, jobject object) {
if (DEBUG) LOGV("%s", __FUNCTION__);
const native_data_t *nat = getNativeData(env, object);
return (jint) nat->audioFormat;
}
JNIEXPORT jint
JNICALL Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetBufferSizeInMillis(
JNIEnv *env, jobject object) {
@@ -50,6 +50,7 @@ public class SpeechSynthesis {
public static final int AGE_OLD = 60;
public static final int CHANNEL_COUNT_MONO = 1;
public static final int FORMAT_PCM_S16 = 2;
static {
System.loadLibrary("ttsespeak");
@@ -102,7 +103,7 @@ public class SpeechSynthesis {
}
public int getAudioFormat() {
return nativeGetAudioFormat();
return FORMAT_PCM_S16;
}
public int getBufferSizeInBytes() {
@@ -343,8 +344,6 @@ public class SpeechSynthesis {
private native final int nativeGetSampleRate();
private native final int nativeGetAudioFormat();
private native final int nativeGetBufferSizeInMillis();
private native final String[] nativeGetAvailableVoices();