public class android.media.AudioTrack$Builder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.media.AudioTrack$Builder
super_class: java.lang.Object
{
private android.media.AudioAttributes mAttributes;
descriptor: Landroid/media/AudioAttributes;
flags: (0x0002) ACC_PRIVATE
private android.media.AudioFormat mFormat;
descriptor: Landroid/media/AudioFormat;
flags: (0x0002) ACC_PRIVATE
private int mBufferSizeInBytes;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mSessionId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mMode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mPerformanceMode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mOffload;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield android.media.AudioTrack$Builder.mSessionId:I
2: aload 0
iconst_1
putfield android.media.AudioTrack$Builder.mMode:I
3: aload 0
iconst_0
putfield android.media.AudioTrack$Builder.mPerformanceMode:I
4: aload 0
iconst_0
putfield android.media.AudioTrack$Builder.mOffload:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/AudioTrack$Builder;
public android.media.AudioTrack$Builder setAudioAttributes(android.media.AudioAttributes);
descriptor: (Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Illegal null AudioAttributes argument"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/AudioTrack$Builder;
0 4 1 attributes Landroid/media/AudioAttributes;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
attributes
public android.media.AudioTrack$Builder setAudioFormat(android.media.AudioFormat);
descriptor: (Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Illegal null AudioFormat argument"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/AudioTrack$Builder;
0 4 1 format Landroid/media/AudioFormat;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
format
public android.media.AudioTrack$Builder setBufferSizeInBytes(int);
descriptor: (I)Landroid/media/AudioTrack$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifgt 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid buffer size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.AudioTrack$Builder.mBufferSizeInBytes:I
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/AudioTrack$Builder;
0 4 1 bufferSizeInBytes I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
bufferSizeInBytes
public android.media.AudioTrack$Builder setTransferMode(int);
descriptor: (I)Landroid/media/AudioTrack$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 1
0: 1
1: 1
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.AudioTrack$Builder.mMode:I
2: goto 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid transfer mode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack$Builder;
0 5 1 mode I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
mode
public android.media.AudioTrack$Builder setSessionId(int);
descriptor: (I)Landroid/media/AudioTrack$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
iload 1
iconst_1
if_icmpge 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid audio session ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.AudioTrack$Builder.mSessionId:I
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/AudioTrack$Builder;
0 4 1 sessionId I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
sessionId
public android.media.AudioTrack$Builder setPerformanceMode(int);
descriptor: (I)Landroid/media/AudioTrack$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 2
0: 1
1: 1
2: 1
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.AudioTrack$Builder.mPerformanceMode:I
2: goto 6
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
4: new java.lang.StringBuilder
dup
ldc "Invalid performance mode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/AudioTrack$Builder;
0 7 1 performanceMode I
MethodParameters:
Name Flags
performanceMode
public android.media.AudioTrack$Builder setOffloadedPlayback(boolean);
descriptor: (Z)Landroid/media/AudioTrack$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.media.AudioTrack$Builder.mOffload:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack$Builder;
0 2 1 offload Z
MethodParameters:
Name Flags
offload
public android.media.AudioTrack build();
descriptor: ()Landroid/media/AudioTrack;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
ifnonnull 5
1: aload 0
new android.media.AudioAttributes$Builder
dup
invokespecial android.media.AudioAttributes$Builder.<init>:()V
2: iconst_1
invokevirtual android.media.AudioAttributes$Builder.setUsage:(I)Landroid/media/AudioAttributes$Builder;
3: invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
4: putfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
5: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack$Builder.mPerformanceMode:I
tableswitch { // 0 - 2
0: 15
1: 6
2: 17
default: 25
}
6: StackMap locals:
StackMap stack:
aload 0
new android.media.AudioAttributes$Builder
dup
aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
invokespecial android.media.AudioAttributes$Builder.<init>:(Landroid/media/AudioAttributes;)V
7: aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getAllFlags:()I
8: sipush 256
9: ior
10: sipush -513
11: iand
invokevirtual android.media.AudioAttributes$Builder.replaceFlags:(I)Landroid/media/AudioAttributes$Builder;
12: invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
13: putfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
14: goto 25
15: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
aload 0
getfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
aload 0
getfield android.media.AudioTrack$Builder.mBufferSizeInBytes:I
aload 0
getfield android.media.AudioTrack$Builder.mMode:I
invokestatic android.media.AudioTrack.shouldEnablePowerSaving:(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)Z
ifne 17
16: goto 25
17: StackMap locals:
StackMap stack:
aload 0
new android.media.AudioAttributes$Builder
dup
aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
invokespecial android.media.AudioAttributes$Builder.<init>:(Landroid/media/AudioAttributes;)V
18: aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getAllFlags:()I
19: sipush 512
20: ior
21: sipush -257
22: iand
invokevirtual android.media.AudioAttributes$Builder.replaceFlags:(I)Landroid/media/AudioAttributes$Builder;
23: invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
24: putfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
25: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
ifnonnull 31
26: aload 0
new android.media.AudioFormat$Builder
dup
invokespecial android.media.AudioFormat$Builder.<init>:()V
27: bipush 12
invokevirtual android.media.AudioFormat$Builder.setChannelMask:(I)Landroid/media/AudioFormat$Builder;
28: iconst_1
invokevirtual android.media.AudioFormat$Builder.setEncoding:(I)Landroid/media/AudioFormat$Builder;
29: invokevirtual android.media.AudioFormat$Builder.build:()Landroid/media/AudioFormat;
30: putfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
31: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack$Builder.mOffload:Z
ifeq 40
32: aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getUsage:()I
iconst_1
if_icmpeq 36
33: new java.lang.UnsupportedOperationException
dup
34: ldc "Cannot create AudioTrack, offload requires USAGE_MEDIA"
35: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
invokestatic android.media.AudioSystem.isOffloadSupported:(Landroid/media/AudioFormat;)Z
ifne 40
37: new java.lang.UnsupportedOperationException
dup
38: ldc "Cannot create AudioTrack, offload format not supported"
39: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack$Builder.mMode:I
iconst_1
if_icmpne 44
aload 0
getfield android.media.AudioTrack$Builder.mBufferSizeInBytes:I
ifne 44
41: aload 0
aload 0
getfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
invokevirtual android.media.AudioFormat.getChannelCount:()I
42: aload 0
getfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
invokevirtual android.media.AudioFormat.getEncoding:()I
invokestatic android.media.AudioFormat.getBytesPerSample:(I)I
imul
43: putfield android.media.AudioTrack$Builder.mBufferSizeInBytes:I
44: StackMap locals:
StackMap stack:
new android.media.AudioTrack
dup
45: aload 0
getfield android.media.AudioTrack$Builder.mAttributes:Landroid/media/AudioAttributes;
aload 0
getfield android.media.AudioTrack$Builder.mFormat:Landroid/media/AudioFormat;
aload 0
getfield android.media.AudioTrack$Builder.mBufferSizeInBytes:I
aload 0
getfield android.media.AudioTrack$Builder.mMode:I
aload 0
getfield android.media.AudioTrack$Builder.mSessionId:I
aload 0
getfield android.media.AudioTrack$Builder.mOffload:Z
46: invokespecial android.media.AudioTrack.<init>:(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;IIIZ)V
astore 1
start local 1 47: aload 1
invokevirtual android.media.AudioTrack.getState:()I
ifne 49
48: new java.lang.UnsupportedOperationException
dup
ldc "Cannot create AudioTrack"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals: android.media.AudioTrack
StackMap stack:
aload 1
50: areturn
end local 1 51: StackMap locals: android.media.AudioTrack$Builder
StackMap stack: java.lang.IllegalArgumentException
astore 1
start local 1 52: new java.lang.UnsupportedOperationException
dup
aload 1
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Landroid/media/AudioTrack$Builder;
47 51 1 track Landroid/media/AudioTrack;
52 53 1 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
40 50 51 Class java.lang.IllegalArgumentException
Exceptions:
throws java.lang.UnsupportedOperationException
}
SourceFile: "AudioTrack.java"
NestHost: android.media.AudioTrack
InnerClasses:
public Builder = android.media.AudioAttributes$Builder of android.media.AudioAttributes
public Builder = android.media.AudioFormat$Builder of android.media.AudioFormat
public Builder = android.media.AudioTrack$Builder of android.media.AudioTrack