From 34a37bdebb3d606dac7c7d1dd7a0effdb59bd3d6 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Thu, 9 Jan 2014 12:24:48 -0800 Subject: Add AudioFormat.getBytesPerSample and use it Change-Id: I90a40987ea99006af4a6e31136078c04976eb54d --- core/java/android/speech/tts/BlockingAudioTrack.java | 13 +------------ core/java/android/speech/tts/FileSynthesisCallback.java | 3 +-- 2 files changed, 2 insertions(+), 14 deletions(-) (limited to 'core/java/android/speech') diff --git a/core/java/android/speech/tts/BlockingAudioTrack.java b/core/java/android/speech/tts/BlockingAudioTrack.java index 186cb49..92bb0ac 100644 --- a/core/java/android/speech/tts/BlockingAudioTrack.java +++ b/core/java/android/speech/tts/BlockingAudioTrack.java @@ -83,7 +83,7 @@ class BlockingAudioTrack { mVolume = volume; mPan = pan; - mBytesPerFrame = getBytesPerFrame(mAudioFormat) * mChannelCount; + mBytesPerFrame = AudioFormat.getBytesPerSample(mAudioFormat) * mChannelCount; mIsShortUtterance = false; mAudioBufferSize = 0; mBytesWritten = 0; @@ -229,17 +229,6 @@ class BlockingAudioTrack { return audioTrack; } - private static int getBytesPerFrame(int audioFormat) { - if (audioFormat == AudioFormat.ENCODING_PCM_8BIT) { - return 1; - } else if (audioFormat == AudioFormat.ENCODING_PCM_16BIT) { - return 2; - } - - return -1; - } - - private void blockUntilDone(AudioTrack audioTrack) { if (mBytesWritten <= 0) { return; diff --git a/core/java/android/speech/tts/FileSynthesisCallback.java b/core/java/android/speech/tts/FileSynthesisCallback.java index 717aeb6..d84f7f0 100644 --- a/core/java/android/speech/tts/FileSynthesisCallback.java +++ b/core/java/android/speech/tts/FileSynthesisCallback.java @@ -278,8 +278,7 @@ class FileSynthesisCallback extends AbstractSynthesisCallback { private ByteBuffer makeWavHeader(int sampleRateInHz, int audioFormat, int channelCount, int dataLength) { - // TODO: is AudioFormat.ENCODING_DEFAULT always the same as ENCODING_PCM_16BIT? - int sampleSizeInBytes = (audioFormat == AudioFormat.ENCODING_PCM_8BIT ? 1 : 2); + int sampleSizeInBytes = AudioFormat.getBytesPerSample(audioFormat); int byteRate = sampleRateInHz * sampleSizeInBytes * channelCount; short blockAlign = (short) (sampleSizeInBytes * channelCount); short bitsPerSample = (short) (sampleSizeInBytes * 8); -- cgit v1.1