class android.speech.tts.FileSynthesisCallback extends android.speech.tts.AbstractSynthesisCallback
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.speech.tts.FileSynthesisCallback
super_class: android.speech.tts.AbstractSynthesisCallback
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "FileSynthesisRequest"
private static final boolean DBG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int MAX_AUDIO_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int WAV_HEADER_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 44
private static final short WAV_FORMAT_PCM;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final java.lang.Object mStateLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mSampleRateInHz;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mAudioFormat;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mChannelCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.nio.channels.FileChannel mFileChannel;
descriptor: Ljava/nio/channels/FileChannel;
flags: (0x0002) ACC_PRIVATE
private final android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher mDispatcher;
descriptor: Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean mStarted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mDone;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
protected int mStatusCode;
descriptor: I
flags: (0x0004) ACC_PROTECTED
void <init>(java.nio.channels.FileChannel, android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher, boolean);
descriptor: (Ljava/nio/channels/FileChannel;Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;Z)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 3
invokespecial android.speech.tts.AbstractSynthesisCallback.<init>:(Z)V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
2: aload 0
iconst_0
putfield android.speech.tts.FileSynthesisCallback.mStarted:Z
3: aload 0
iconst_0
putfield android.speech.tts.FileSynthesisCallback.mDone:Z
4: aload 0
aload 1
putfield android.speech.tts.FileSynthesisCallback.mFileChannel:Ljava/nio/channels/FileChannel;
5: aload 0
aload 2
putfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
6: aload 0
iconst_0
putfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/speech/tts/FileSynthesisCallback;
0 8 1 fileChannel Ljava/nio/channels/FileChannel;
0 8 2 dispatcher Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
0 8 3 clientIsUsingV2 Z
MethodParameters:
Name Flags
fileChannel
dispatcher
clientIsUsingV2
void stop();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDone:Z
ifeq 4
2: aload 1
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
bipush -2
if_icmpne 7
5: aload 1
monitorexit
6: return
7: StackMap locals:
StackMap stack:
aload 0
bipush -2
putfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
8: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.cleanUp:()V
9: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
invokeinterface android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher.dispatchOnStop:()V
10: aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/speech/tts/FileSynthesisCallback;
Exception table:
from to target type
1 3 12 any
4 6 12 any
7 11 12 any
12 13 12 any
private void cleanUp();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.closeFile:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/speech/tts/FileSynthesisCallback;
private void closeFile();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield android.speech.tts.FileSynthesisCallback.mFileChannel:Ljava/nio/channels/FileChannel;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/speech/tts/FileSynthesisCallback;
public int getMaxBufferSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: sipush 8192
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/speech/tts/FileSynthesisCallback;
public int start(int, int, int);
descriptor: (III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iconst_3
if_icmpeq 7
1: iload 2
iconst_2
if_icmpeq 7
2: iload 2
iconst_4
if_icmpeq 7
3: ldc "FileSynthesisRequest"
new java.lang.StringBuilder
dup
ldc "Audio format encoding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " not supported. Please use one "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "of AudioFormat.ENCODING_PCM_8BIT, AudioFormat.ENCODING_PCM_16BIT or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "AudioFormat.ENCODING_PCM_FLOAT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: StackMap locals:
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
iload 1
iload 2
iload 3
invokeinterface android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher.dispatchOnBeginSynthesis:(III)V
8: aconst_null
astore 4
start local 4 9: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
10: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
bipush -2
if_icmpne 13
11: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.errorCodeOnStop:()I
aload 5
monitorexit
12: ireturn
13: StackMap locals: java.nio.channels.FileChannel java.lang.Object
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
ifeq 16
14: aload 5
monitorexit
15: iconst_m1
ireturn
16: StackMap locals:
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStarted:Z
ifeq 20
17: ldc "FileSynthesisRequest"
ldc "Start called twice"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
18: aload 5
monitorexit
19: iconst_m1
ireturn
20: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.speech.tts.FileSynthesisCallback.mStarted:Z
21: aload 0
iload 1
putfield android.speech.tts.FileSynthesisCallback.mSampleRateInHz:I
22: aload 0
iload 2
putfield android.speech.tts.FileSynthesisCallback.mAudioFormat:I
23: aload 0
iload 3
putfield android.speech.tts.FileSynthesisCallback.mChannelCount:I
24: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
invokeinterface android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher.dispatchOnStart:()V
25: aload 0
getfield android.speech.tts.FileSynthesisCallback.mFileChannel:Ljava/nio/channels/FileChannel;
astore 4
26: aload 5
monitorexit
27: goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
28: aload 5
monitorexit
29: athrow
30: StackMap locals:
StackMap stack:
aload 4
bipush 44
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;)I
pop
31: iconst_0
ireturn
32: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 33: ldc "FileSynthesisRequest"
ldc "Failed to write wav header to output file descriptor"
aload 5
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
34: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 6
monitorenter
35: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.cleanUp:()V
36: aload 0
bipush -5
putfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
37: aload 6
monitorexit
38: goto 41
StackMap locals: android.speech.tts.FileSynthesisCallback int int int java.nio.channels.FileChannel java.io.IOException java.lang.Object
StackMap stack: java.lang.Throwable
39: aload 6
monitorexit
40: athrow
41: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Landroid/speech/tts/FileSynthesisCallback;
0 42 1 sampleRateInHz I
0 42 2 audioFormat I
0 42 3 channelCount I
9 42 4 fileChannel Ljava/nio/channels/FileChannel;
33 42 5 ex Ljava/io/IOException;
Exception table:
from to target type
10 12 28 any
13 15 28 any
16 19 28 any
20 27 28 any
28 29 28 any
30 31 32 Class java.io.IOException
35 38 39 any
39 40 39 any
MethodParameters:
Name Flags
sampleRateInHz
audioFormat
channelCount
public int audioAvailable(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
2: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
bipush -2
if_icmpne 5
3: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.errorCodeOnStop:()I
aload 5
monitorexit
4: ireturn
5: StackMap locals: java.nio.channels.FileChannel java.lang.Object
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
ifeq 8
6: aload 5
monitorexit
7: iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mFileChannel:Ljava/nio/channels/FileChannel;
ifnonnull 13
9: ldc "FileSynthesisRequest"
ldc "File not open"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: aload 0
bipush -5
putfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
11: aload 5
monitorexit
12: iconst_m1
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStarted:Z
ifne 17
14: ldc "FileSynthesisRequest"
ldc "Start method was not called"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: aload 5
monitorexit
16: iconst_m1
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mFileChannel:Ljava/nio/channels/FileChannel;
astore 4
18: aload 5
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 5
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
iload 3
newarray 8
astore 5
start local 5 23: aload 1
iload 2
aload 5
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
24: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
aload 5
invokeinterface android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher.dispatchOnAudioAvailable:([B)V
25: aload 4
aload 1
iload 2
iload 3
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;)I
pop
26: iconst_0
ireturn
27: StackMap locals: android.speech.tts.FileSynthesisCallback byte[] int int java.nio.channels.FileChannel byte[]
StackMap stack: java.io.IOException
astore 6
start local 6 28: ldc "FileSynthesisRequest"
ldc "Failed to write to output file descriptor"
aload 6
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
29: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 7
monitorenter
30: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.cleanUp:()V
31: aload 0
bipush -5
putfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
32: aload 7
monitorexit
33: goto 36
StackMap locals: android.speech.tts.FileSynthesisCallback byte[] int int java.nio.channels.FileChannel byte[] java.io.IOException java.lang.Object
StackMap stack: java.lang.Throwable
34: aload 7
monitorexit
35: athrow
36: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Landroid/speech/tts/FileSynthesisCallback;
0 37 1 buffer [B
0 37 2 offset I
0 37 3 length I
1 37 4 fileChannel Ljava/nio/channels/FileChannel;
23 37 5 bufferCopy [B
28 37 6 ex Ljava/io/IOException;
Exception table:
from to target type
2 4 20 any
5 7 20 any
8 12 20 any
13 16 20 any
17 19 20 any
20 21 20 any
25 26 27 Class java.io.IOException
30 33 34 any
34 35 34 any
MethodParameters:
Name Flags
buffer
offset
length
public int done();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
5: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDone:Z
ifeq 9
6: ldc "FileSynthesisRequest"
ldc "Duplicate call to done()"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: aload 5
monitorexit
8: iconst_m1
ireturn
9: StackMap locals: android.speech.tts.FileSynthesisCallback java.nio.channels.FileChannel int int int java.lang.Object
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
bipush -2
if_icmpne 12
10: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.errorCodeOnStop:()I
aload 5
monitorexit
11: ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
ifeq 16
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
bipush -2
if_icmpeq 16
13: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
aload 0
getfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
invokeinterface android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher.dispatchOnError:(I)V
14: aload 5
monitorexit
15: iconst_m1
ireturn
16: StackMap locals:
StackMap stack:
aload 0
getfield android.speech.tts.FileSynthesisCallback.mFileChannel:Ljava/nio/channels/FileChannel;
ifnonnull 20
17: ldc "FileSynthesisRequest"
ldc "File not open"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
18: aload 5
monitorexit
19: iconst_m1
ireturn
20: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.speech.tts.FileSynthesisCallback.mDone:Z
21: aload 0
getfield android.speech.tts.FileSynthesisCallback.mFileChannel:Ljava/nio/channels/FileChannel;
astore 1
22: aload 0
getfield android.speech.tts.FileSynthesisCallback.mSampleRateInHz:I
istore 2
23: aload 0
getfield android.speech.tts.FileSynthesisCallback.mAudioFormat:I
istore 3
24: aload 0
getfield android.speech.tts.FileSynthesisCallback.mChannelCount:I
istore 4
25: aload 5
monitorexit
26: goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
27: aload 5
monitorexit
28: athrow
29: StackMap locals:
StackMap stack:
aload 1
lconst_0
invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
pop
30: aload 1
invokevirtual java.nio.channels.FileChannel.size:()J
ldc 44
lsub
l2i
istore 5
start local 5 31: aload 1
32: aload 0
iload 2
iload 3
iload 4
iload 5
invokevirtual android.speech.tts.FileSynthesisCallback.makeWavHeader:(IIII)Ljava/nio/ByteBuffer;
33: invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;)I
pop
34: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 6
monitorenter
35: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.closeFile:()V
36: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
invokeinterface android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher.dispatchOnSuccess:()V
37: aload 6
monitorexit
38: iconst_0
ireturn
39: StackMap locals: android.speech.tts.FileSynthesisCallback java.nio.channels.FileChannel int int int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 6
monitorexit
40: athrow
end local 5 41: StackMap locals: android.speech.tts.FileSynthesisCallback java.nio.channels.FileChannel int int int
StackMap stack: java.io.IOException
astore 5
start local 5 42: ldc "FileSynthesisRequest"
ldc "Failed to write to output file descriptor"
aload 5
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
43: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 6
monitorenter
44: aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.cleanUp:()V
45: aload 6
monitorexit
46: goto 49
StackMap locals: android.speech.tts.FileSynthesisCallback java.nio.channels.FileChannel int int int java.io.IOException java.lang.Object
StackMap stack: java.lang.Throwable
47: aload 6
monitorexit
48: athrow
49: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Landroid/speech/tts/FileSynthesisCallback;
1 50 1 fileChannel Ljava/nio/channels/FileChannel;
2 50 2 sampleRateInHz I
3 50 3 audioFormat I
4 50 4 channelCount I
31 41 5 dataLength I
42 50 5 ex Ljava/io/IOException;
Exception table:
from to target type
5 8 27 any
9 11 27 any
12 15 27 any
16 19 27 any
20 26 27 any
27 28 27 any
35 38 39 any
39 40 39 any
29 38 41 Class java.io.IOException
39 41 41 Class java.io.IOException
44 46 47 any
47 48 47 any
public void error();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush -3
invokevirtual android.speech.tts.FileSynthesisCallback.error:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/speech/tts/FileSynthesisCallback;
public void error(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDone:Z
ifeq 4
2: aload 2
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual android.speech.tts.FileSynthesisCallback.cleanUp:()V
5: aload 0
iload 1
putfield android.speech.tts.FileSynthesisCallback.mStatusCode:I
6: aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/speech/tts/FileSynthesisCallback;
0 11 1 errorCode I
Exception table:
from to target type
1 3 8 any
4 7 8 any
8 9 8 any
MethodParameters:
Name Flags
errorCode
public boolean hasStarted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStarted:Z
aload 1
monitorexit
2: ireturn
3: StackMap locals: android.speech.tts.FileSynthesisCallback java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/speech/tts/FileSynthesisCallback;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public boolean hasFinished();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.speech.tts.FileSynthesisCallback.mStateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDone:Z
aload 1
monitorexit
2: ireturn
3: StackMap locals: android.speech.tts.FileSynthesisCallback java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/speech/tts/FileSynthesisCallback;
Exception table:
from to target type
1 2 3 any
3 4 3 any
private java.nio.ByteBuffer makeWavHeader(int, int, int, int);
descriptor: (IIII)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
invokestatic android.media.AudioFormat.getBytesPerSample:(I)I
istore 5
start local 5 1: iload 1
iload 5
imul
iload 3
imul
istore 6
start local 6 2: iload 5
iload 3
imul
i2s
istore 7
start local 7 3: iload 5
bipush 8
imul
i2s
istore 8
start local 8 4: bipush 44
newarray 8
astore 9
start local 9 5: aload 9
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 10
start local 10 6: aload 10
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
7: aload 10
iconst_4
newarray 8
dup
iconst_0
bipush 82
bastore
dup
iconst_1
bipush 73
bastore
dup
iconst_2
bipush 70
bastore
dup
iconst_3
bipush 70
bastore
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
8: aload 10
iload 4
bipush 44
iadd
bipush 8
isub
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
9: aload 10
iconst_4
newarray 8
dup
iconst_0
bipush 87
bastore
dup
iconst_1
bipush 65
bastore
dup
iconst_2
bipush 86
bastore
dup
iconst_3
bipush 69
bastore
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
10: aload 10
iconst_4
newarray 8
dup
iconst_0
bipush 102
bastore
dup
iconst_1
bipush 109
bastore
dup
iconst_2
bipush 116
bastore
dup
iconst_3
bipush 32
bastore
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
11: aload 10
bipush 16
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
12: aload 10
iconst_1
invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
pop
13: aload 10
iload 3
i2s
invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
pop
14: aload 10
iload 1
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
15: aload 10
iload 6
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
16: aload 10
iload 7
invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
pop
17: aload 10
iload 8
invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
pop
18: aload 10
iconst_4
newarray 8
dup
iconst_0
bipush 100
bastore
dup
iconst_1
bipush 97
bastore
dup
iconst_2
bipush 116
bastore
dup
iconst_3
bipush 97
bastore
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
19: aload 10
iload 4
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
20: aload 10
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
21: aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Landroid/speech/tts/FileSynthesisCallback;
0 22 1 sampleRateInHz I
0 22 2 audioFormat I
0 22 3 channelCount I
0 22 4 dataLength I
1 22 5 sampleSizeInBytes I
2 22 6 byteRate I
3 22 7 blockAlign S
4 22 8 bitsPerSample S
5 22 9 headerBuf [B
6 22 10 header Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
sampleRateInHz
audioFormat
channelCount
dataLength
public void rangeStart(int, int, int);
descriptor: (III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.speech.tts.FileSynthesisCallback.mDispatcher:Landroid/speech/tts/TextToSpeechService$UtteranceProgressDispatcher;
iload 1
iload 2
iload 3
invokeinterface android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher.dispatchOnRangeStart:(III)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/speech/tts/FileSynthesisCallback;
0 2 1 markerInFrames I
0 2 2 start I
0 2 3 end I
MethodParameters:
Name Flags
markerInFrames
start
end
}
SourceFile: "FileSynthesisCallback.java"
InnerClasses:
abstract UtteranceProgressDispatcher = android.speech.tts.TextToSpeechService$UtteranceProgressDispatcher of android.speech.tts.TextToSpeechService