AudioAccessor.smali
.class public Lcom/iflytek/cloud/msc/ist/AudioAccessor;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/iflytek/cloud/msc/ist/AudioAccessor$AudioKeys;,
Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
}
.end annotation
# static fields
.field private static final MAX_BUF_LEN:I = 0x500000
.field private static final MIN_OUTPUT_TIME:I = 0xbb8
# instance fields
.field private final DATA_LENGTH_OFFSET:I
.field private final FILE_FMT:Ljava/lang/String;
.field private final FILE_LENGTH_OFFSET:I
.field private final SIZE_OF_WAVE_HEADER:I
.field private mAccessFile:Ljava/io/RandomAccessFile;
.field private mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
.field private mAudioFile:Ljava/io/File;
.field private mBitsPerSample:S
.field private mBufLen:I
.field private mBuffer:[B
.field private mByteBuffer:Ljava/nio/ByteBuffer;
.field private mDataCount:I
.field private mFileChannel:Ljava/nio/channels/FileChannel;
.field private mFilePath:Ljava/lang/String;
.field private mFileSyncObj:Ljava/lang/Object;
.field private mFormat:S
.field private mLastFlushTime:J
.field private mNumChannels:S
.field private mOffset:I
.field private mSampleRate:I
# direct methods
.method protected constructor <init>()V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/high16 v4, 0x500000
const/4 v3, 0x1
const/4 v1, 0x0
const/4 v2, 0x0
.line 48
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 553
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
.line 554
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
.line 555
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
.line 559
invoke-static {v4}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 560
new-array v0, v4, [B
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
.line 561
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
.line 562
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mDataCount:I
.line 564
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mLastFlushTime:J
.line 565
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
.line 566
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
.line 567
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
.line 568
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
.line 571
const-string v0, ".wav"
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->FILE_FMT:Ljava/lang/String;
.line 572
const/16 v0, 0x2c
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->SIZE_OF_WAVE_HEADER:I
.line 573
const/16 v0, 0x28
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->DATA_LENGTH_OFFSET:I
.line 574
const/4 v0, 0x4
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->FILE_LENGTH_OFFSET:I
.line 575
iput-short v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
.line 576
iput-short v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFormat:S
.line 577
const/16 v0, 0x10
iput-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
.line 578
const/16 v0, 0x3e80
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
.line 49
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->BUFFER:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
.line 50
return-void
.end method
.method protected constructor <init>(Ljava/lang/String;)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/high16 v4, 0x500000
const/4 v3, 0x1
const/4 v1, 0x0
const/4 v2, 0x0
.line 53
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 553
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
.line 554
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
.line 555
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
.line 559
invoke-static {v4}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 560
new-array v0, v4, [B
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
.line 561
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
.line 562
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mDataCount:I
.line 564
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mLastFlushTime:J
.line 565
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
.line 566
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
.line 567
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
.line 568
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
.line 571
const-string v0, ".wav"
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->FILE_FMT:Ljava/lang/String;
.line 572
const/16 v0, 0x2c
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->SIZE_OF_WAVE_HEADER:I
.line 573
const/16 v0, 0x28
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->DATA_LENGTH_OFFSET:I
.line 574
const/4 v0, 0x4
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->FILE_LENGTH_OFFSET:I
.line 575
iput-short v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
.line 576
iput-short v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFormat:S
.line 577
const/16 v0, 0x10
iput-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
.line 578
const/16 v0, 0x3e80
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
.line 54
iput-object p1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
.line 55
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->READ_ONLY:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
.line 57
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->initFile()V
.line 58
return-void
.end method
.method protected constructor <init>(Ljava/lang/String;I)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/high16 v4, 0x500000
const/4 v3, 0x1
const/4 v1, 0x0
const/4 v2, 0x0
.line 61
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 553
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
.line 554
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
.line 555
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
.line 559
invoke-static {v4}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 560
new-array v0, v4, [B
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
.line 561
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
.line 562
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mDataCount:I
.line 564
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mLastFlushTime:J
.line 565
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
.line 566
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
.line 567
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
.line 568
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
.line 571
const-string v0, ".wav"
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->FILE_FMT:Ljava/lang/String;
.line 572
const/16 v0, 0x2c
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->SIZE_OF_WAVE_HEADER:I
.line 573
const/16 v0, 0x28
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->DATA_LENGTH_OFFSET:I
.line 574
const/4 v0, 0x4
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->FILE_LENGTH_OFFSET:I
.line 575
iput-short v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
.line 576
iput-short v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFormat:S
.line 577
const/16 v0, 0x10
iput-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
.line 578
const/16 v0, 0x3e80
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
.line 62
iput-object p1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
.line 63
iput p2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
.line 64
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
.line 66
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->initFile()V
.line 67
return-void
.end method
.method public static createBufferAccessor()Lcom/iflytek/cloud/msc/ist/AudioAccessor;
.registers 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 35
new-instance v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;
invoke-direct {v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;-><init>()V
return-object v0
.end method
.method public static createReadOnlyAccessor(Ljava/lang/String;)Lcom/iflytek/cloud/msc/ist/AudioAccessor;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 40
new-instance v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;
invoke-direct {v0, p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;-><init>(Ljava/lang/String;)V
return-object v0
.end method
.method public static createWriteReadAccessor(Ljava/lang/String;I)Lcom/iflytek/cloud/msc/ist/AudioAccessor;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 45
new-instance v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;
invoke-direct {v0, p0, p1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;-><init>(Ljava/lang/String;I)V
return-object v0
.end method
.method private getFileLength()J
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 543
const/4 v0, 0x0
.line 544
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
if-eqz v1, :cond_c
.line 545
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
invoke-virtual {v0}, Ljava/nio/channels/FileChannel;->size()J
move-result-wide v0
long-to-int v0, v0
.line 548
:cond_c
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "getFileLength:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
.line 549
int-to-long v0, v0
return-wide v0
.end method
.method private initFile()V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v1, 0x0
.line 301
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->BUFFER:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v2, :cond_8
.line 372
:goto_7
return-void
.line 305
:cond_8
iget-object v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v3
.line 306
:try_start_b
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
if-nez v0, :cond_1a
.line 307
new-instance v0, Ljava/io/IOException;
const-string v1, "File path is null"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 370
:catchall_17
move-exception v0
monitor-exit v3
:try_end_19
.catchall {:try_start_b .. :try_end_19} :catchall_17
throw v0
.line 310
:cond_1a
:try_start_1a
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v2, :cond_159
.line 311
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
.line 314
const-string v2, "/"
invoke-virtual {v0, v2}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_1a2
.line 315
const/4 v2, 0x0
const-string v4, "/"
invoke-virtual {v0, v4}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result v4
invoke-virtual {v0, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
.line 317
:goto_35
new-instance v4, Ljava/io/File;
invoke-direct {v4, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 318
invoke-virtual {v4}, Ljava/io/File;->isDirectory()Z
move-result v2
if-eqz v2, :cond_46
invoke-virtual {v4}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_54
.line 319
:cond_46
invoke-virtual {v4}, Ljava/io/File;->mkdirs()Z
move-result v2
if-nez v2, :cond_54
.line 320
new-instance v0, Ljava/io/IOException;
const-string v1, "create file path failed"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.line 321
throw v0
.line 325
:cond_54
const-string v2, ".wav"
invoke-virtual {v0, v2}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_d5
const-string v2, ".pcm"
.line 326
invoke-virtual {v0, v2}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_d5
.line 327
const-string v2, "/"
invoke-virtual {v0, v2}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_72
.line 328
const-string v2, "/"
invoke-virtual {v0, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 331
:cond_72
new-instance v2, Ljava/sql/Date;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-direct {v2, v4, v5}, Ljava/sql/Date;-><init>(J)V
.line 332
new-instance v4, Ljava/text/SimpleDateFormat;
const-string v5, "yyyyMMdd_HHmmss_SSS"
sget-object v6, Ljava/util/Locale;->CHINA:Ljava/util/Locale;
invoke-direct {v4, v5, v6}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
.line 333
invoke-virtual {v4, v2}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v2
.line 334
invoke-virtual {v0, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 336
new-instance v2, Ljava/io/File;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, ".wav"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v2, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
iput-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
.line 338
:goto_a6
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_fd
.line 339
add-int/lit8 v1, v1, 0x1
.line 340
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, "_"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, ".wav"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 341
new-instance v4, Ljava/io/File;
invoke-direct {v4, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
iput-object v4, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
goto :goto_a6
.line 345
:cond_d5
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
iput-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
.line 346
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_fd
.line 347
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "File is exists:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 351
:cond_fd
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "initFile createNewFile:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
.line 352
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->createNewFile()Z
move-result v0
if-nez v0, :cond_140
.line 353
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "create new file \""
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
.line 354
invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "\" failed."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 357
:cond_140
new-instance v0, Ljava/io/RandomAccessFile;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
const-string v2, "rw"
invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
.line 358
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
invoke-virtual {v0}, Ljava/io/RandomAccessFile;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
.line 359
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->initAudioFileHeader()V
.line 370
:cond_156
:goto_156
monitor-exit v3
goto/16 :goto_7
.line 360
:cond_159
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->READ_ONLY:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v1, :cond_156
.line 361
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
.line 362
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_18b
.line 363
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "File is not exist:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFilePath:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 366
:cond_18b
new-instance v0, Ljava/io/RandomAccessFile;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
const-string v2, "rw"
invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
.line 367
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
invoke-virtual {v0}, Ljava/io/RandomAccessFile;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
.line 368
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->readAudioInfo()V
:try_end_1a1
.catchall {:try_start_1a .. :try_end_1a1} :catchall_17
goto :goto_156
:cond_1a2
move-object v2, v0
goto/16 :goto_35
.end method
.method private isTimeToFlush()Z
.registers 7
.prologue
.line 539
const-wide/16 v0, 0xbb8
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
iget-wide v4, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mLastFlushTime:J
sub-long/2addr v2, v4
cmp-long v0, v0, v2
if-gtz v0, :cond_f
const/4 v0, 0x1
:goto_e
return v0
:cond_f
const/4 v0, 0x0
goto :goto_e
.end method
.method private saveAudio()V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 267
const-string v0, "saveAudioData enter"
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 269
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v1
.line 270
:try_start_8
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
if-eqz v0, :cond_77
.line 271
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "saveAudio write audio len:"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, ", file length="
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 272
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getFileLength()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 271
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 273
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
if-lez v0, :cond_63
.line 274
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
.line 275
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->capacity()I
move-result v0
iget v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
sub-int/2addr v0, v2
.line 276
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {v2, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 277
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
iget-object v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
const/4 v4, 0x0
iget v5, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
invoke-virtual {v2, v3, v4, v5}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
.line 278
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getFileLength()J
move-result-wide v2
long-to-int v2, v2
iget-object v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {p0, v2, v3, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(ILjava/nio/ByteBuffer;I)V
.line 279
const/4 v0, 0x0
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
.line 280
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->updateAudioFileHeader()V
.line 284
:cond_63
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v2, :cond_77
.line 285
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->isTimeToFlush()Z
move-result v0
if-eqz v0, :cond_77
.line 286
const-string v0, "saveAudio flush to device."
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 287
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->flush()V
.line 290
:cond_77
monitor-exit v1
:try_end_78
.catchall {:try_start_8 .. :try_end_78} :catchall_7e
.line 292
const-string v0, "saveAudioData leave"
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 293
return-void
.line 290
:catchall_7e
move-exception v0
:try_start_7f
monitor-exit v1
:try_end_80
.catchall {:try_start_7f .. :try_end_80} :catchall_7e
throw v0
.end method
# virtual methods
.method public close()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 237
const-string v0, "AudioAccesser close enter"
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
.line 239
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v1
.line 240
:try_start_8
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v2, :cond_11
.line 241
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->saveAudio()V
.line 244
:cond_11
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->BUFFER:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-eq v0, v2, :cond_35
.line 246
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
if-eqz v0, :cond_29
.line 247
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/nio/channels/FileChannel;->force(Z)V
.line 248
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
invoke-virtual {v0}, Ljava/nio/channels/FileChannel;->close()V
.line 249
const/4 v0, 0x0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
.line 252
:cond_29
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
if-eqz v0, :cond_35
.line 253
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
invoke-virtual {v0}, Ljava/io/RandomAccessFile;->close()V
.line 254
const/4 v0, 0x0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccessFile:Ljava/io/RandomAccessFile;
.line 258
:cond_35
const/4 v0, 0x0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
.line 259
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
.line 260
const/4 v0, 0x0
iput-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
.line 261
monitor-exit v1
:try_end_41
.catchall {:try_start_8 .. :try_end_41} :catchall_47
.line 263
const-string v0, "AudioAccesser close leave"
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
.line 264
return-void
.line 261
:catchall_47
move-exception v0
:try_start_48
monitor-exit v1
:try_end_49
.catchall {:try_start_48 .. :try_end_49} :catchall_47
throw v0
.end method
.method public declared-synchronized flush()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 225
monitor-enter p0
:try_start_1
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-eq v0, v1, :cond_25
.line 226
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Current type is "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_22
.catchall {:try_start_1 .. :try_end_22} :catchall_22
.line 225
:catchall_22
move-exception v0
monitor-exit p0
throw v0
.line 229
:cond_25
:try_start_25
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v1
:try_end_28
.catchall {:try_start_25 .. :try_end_28} :catchall_22
.line 230
:try_start_28
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/nio/channels/FileChannel;->force(Z)V
.line 232
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
iput-wide v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mLastFlushTime:J
.line 233
monitor-exit v1
:try_end_35
.catchall {:try_start_28 .. :try_end_35} :catchall_37
.line 234
monitor-exit p0
return-void
.line 233
:catchall_37
move-exception v0
:try_start_38
monitor-exit v1
:try_end_39
.catchall {:try_start_38 .. :try_end_39} :catchall_37
:try_start_39
throw v0
:try_end_3a
.catchall {:try_start_39 .. :try_end_3a} :catchall_22
.end method
.method public getAudio([B)I
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v0, -0x1
const/4 v1, 0x0
.line 129
const-string v2, "getAudioData enter"
invoke-static {v2}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 132
sget-object v2, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->BUFFER:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v2, v3, :cond_5d
.line 133
if-eqz p1, :cond_16
array-length v2, p1
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getBufferLength()I
move-result v3
if-eq v2, v3, :cond_21
.line 135
:cond_16
const-string v1, "getAudioData buffer is null or length is error !"
invoke-static {v1}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V
.line 184
:goto_1b
const-string v1, "getAudioData leave"
invoke-static {v1}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 185
return v0
.line 137
:cond_21
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v2
.line 138
:try_start_24
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
if-nez v0, :cond_33
.line 139
new-instance v0, Ljava/io/IOException;
const-string v1, "Data array is null!"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 146
:catchall_30
move-exception v0
monitor-exit v2
:try_end_32
.catchall {:try_start_24 .. :try_end_32} :catchall_30
throw v0
.line 140
:cond_33
:try_start_33
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
if-lez v0, :cond_110
.line 141
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
const/4 v1, 0x0
const/4 v3, 0x0
iget v4, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
invoke-static {v0, v1, p1, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 142
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
.line 143
const/4 v1, 0x0
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
.line 144
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "getAudioData len:"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 146
:goto_5b
monitor-exit v2
:try_end_5c
.catchall {:try_start_33 .. :try_end_5c} :catchall_30
goto :goto_1b
.line 149
:cond_5d
if-eqz p1, :cond_66
array-length v2, p1
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getBufferLength()I
move-result v3
if-eq v2, v3, :cond_6c
.line 151
:cond_66
const-string v1, "getAudioData buffer is null or length is not enough !"
invoke-static {v1}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V
goto :goto_1b
.line 153
:cond_6c
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v2
.line 155
:try_start_6f
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
if-nez v0, :cond_7e
.line 156
new-instance v0, Ljava/io/IOException;
const-string v1, "File is null!"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 179
:catchall_7b
move-exception v0
monitor-exit v2
:try_end_7d
.catchall {:try_start_6f .. :try_end_7d} :catchall_7b
throw v0
.line 159
:cond_7e
:try_start_7e
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getFileLength()J
move-result-wide v4
const-wide/16 v6, 0x2c
cmp-long v0, v4, v6
if-lez v0, :cond_10e
.line 160
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
.line 161
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->capacity()I
move-result v0
int-to-long v4, v0
.line 162
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getFileLength()J
move-result-wide v6
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
int-to-long v8, v0
sub-long/2addr v6, v8
.line 161
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->min(JJ)J
move-result-wide v4
long-to-int v0, v4
.line 163
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "getAudioData buffer len:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 164
if-lez v0, :cond_10e
.line 165
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
iget v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
int-to-long v4, v3
invoke-virtual {v1, v4, v5}, Ljava/nio/channels/FileChannel;->position(J)Ljava/nio/channels/FileChannel;
.line 166
iget v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
iget-object v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
invoke-virtual {p0, v1, v3}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->readBytes(ILjava/nio/ByteBuffer;)I
move-result v1
if-eq v0, v1, :cond_e4
.line 167
new-instance v1, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Read audio length error:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 170
:cond_e4
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
const/4 v3, 0x0
invoke-virtual {v1, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 171
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mByteBuffer:Ljava/nio/ByteBuffer;
const/4 v3, 0x0
invoke-virtual {v1, p1, v3, v0}, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
.line 172
iget v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
add-int/2addr v1, v0
iput v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mOffset:I
.line 174
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "getAudioData read len:"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 179
:goto_10b
monitor-exit v2
:try_end_10c
.catchall {:try_start_7e .. :try_end_10c} :catchall_7b
goto/16 :goto_1b
:cond_10e
move v0, v1
goto :goto_10b
:cond_110
move v0, v1
goto/16 :goto_5b
.end method
.method public getAudioInfo(Lcom/iflytek/cloud/msc/ist/AudioAccessor$AudioKeys;)Ljava/lang/String;
.registers 5
.prologue
.line 92
const/4 v0, 0x0
.line 93
sget-object v1, Lcom/iflytek/cloud/msc/ist/AudioAccessor$1;->$SwitchMap$com$iflytek$cloud$msc$ist$AudioAccessor$AudioKeys:[I
invoke-virtual {p1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AudioKeys;->ordinal()I
move-result v2
aget v1, v1, v2
packed-switch v1, :pswitch_data_2a
.line 110
:goto_c
return-object v0
.line 95
:pswitch_d
iget-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
goto :goto_c
.line 98
:pswitch_14
iget-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFormat:S
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
goto :goto_c
.line 101
:pswitch_1b
iget-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
goto :goto_c
.line 104
:pswitch_22
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
goto :goto_c
.line 93
nop
:pswitch_data_2a
.packed-switch 0x1
:pswitch_d
:pswitch_14
:pswitch_1b
:pswitch_22
.end packed-switch
.end method
.method public getBufferLength()I
.registers 2
.prologue
.line 114
const/high16 v0, 0x500000
return v0
.end method
.method public getCacheLeft()I
.registers 4
.prologue
.line 118
.line 120
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v1
.line 122
const/high16 v0, 0x280000
:try_start_5
iget v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
sub-int/2addr v0, v2
.line 123
monitor-exit v1
.line 125
return v0
.line 123
:catchall_a
move-exception v0
monitor-exit v1
:try_end_c
.catchall {:try_start_5 .. :try_end_c} :catchall_a
throw v0
.end method
.method public getDataLength()J
.registers 5
.prologue
.line 82
.line 84
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v1
.line 85
:try_start_3
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mDataCount:I
int-to-long v2, v0
.line 86
monitor-exit v1
.line 88
return-wide v2
.line 86
:catchall_8
move-exception v0
monitor-exit v1
:try_end_a
.catchall {:try_start_3 .. :try_end_a} :catchall_8
throw v0
.end method
.method public getFilePath()Ljava/lang/String;
.registers 4
.prologue
.line 70
const/4 v0, 0x0
.line 72
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v1
.line 73
:try_start_4
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
if-eqz v2, :cond_e
.line 74
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAudioFile:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
.line 76
:cond_e
monitor-exit v1
.line 78
return-object v0
.line 76
:catchall_10
move-exception v0
monitor-exit v1
:try_end_12
.catchall {:try_start_4 .. :try_end_12} :catchall_10
throw v0
.end method
.method protected initAudioFileHeader()V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v5, 0x0
.line 376
const-string v0, "RIFF"
.line 377
const-string v0, "WAVE"
.line 378
const-string v0, "fmt "
.line 379
const-string v0, "data"
.line 383
const-string v0, "RIFF"
invoke-virtual {v0}, Ljava/lang/String;->getBytes()[B
move-result-object v0
invoke-virtual {p0, v5, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(I[B)V
.line 384
const-string v0, "RIFF"
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
add-int/2addr v0, v5
.line 386
const/16 v1, 0x2c
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeInt(II)V
.line 387
add-int/lit8 v0, v0, 0x4
.line 389
const-string v1, "WAVE"
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(I[B)V
.line 390
const-string v1, "WAVE"
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/2addr v0, v1
.line 393
const-string v1, "fmt "
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(I[B)V
.line 394
const-string v1, "fmt "
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/2addr v0, v1
.line 396
const/16 v1, 0x10
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeInt(II)V
.line 397
add-int/lit8 v0, v0, 0x4
.line 399
iget-short v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFormat:S
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeShort(IS)V
.line 400
add-int/lit8 v0, v0, 0x2
.line 402
iget-short v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeShort(IS)V
.line 403
add-int/lit8 v0, v0, 0x2
.line 405
iget v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeInt(II)V
.line 406
add-int/lit8 v0, v0, 0x4
.line 408
iget-short v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
iget v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
mul-int/2addr v1, v2
iget-short v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
mul-int/2addr v1, v2
div-int/lit8 v1, v1, 0x8
.line 410
iget-short v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
iget-short v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
mul-int/2addr v2, v3
div-int/lit8 v2, v2, 0x8
int-to-short v2, v2
.line 411
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "writeAudioFileHeader NumChannels="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
iget-short v4, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, "SampleRate="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
iget v4, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ", transferRate="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ", adjustValue="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ", bit="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
iget-short v4, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 417
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeInt(II)V
.line 418
add-int/lit8 v0, v0, 0x4
.line 420
invoke-virtual {p0, v0, v2}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeShort(IS)V
.line 421
add-int/lit8 v0, v0, 0x2
.line 423
iget-short v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeShort(IS)V
.line 424
add-int/lit8 v0, v0, 0x2
.line 427
const-string v1, "data"
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(I[B)V
.line 428
const-string v1, "data"
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/2addr v0, v1
.line 430
invoke-virtual {p0, v0, v5}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeInt(II)V
.line 431
return-void
.end method
.method public declared-synchronized putAudio([BI)Z
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 189
monitor-enter p0
:try_start_1
const-string v0, "putAudio enter"
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 191
if-nez p1, :cond_16
.line 192
const-string v0, "data is null !"
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V
.line 193
new-instance v0, Ljava/lang/NullPointerException;
invoke-direct {v0}, Ljava/lang/NullPointerException;-><init>()V
throw v0
:try_end_13
.catchall {:try_start_1 .. :try_end_13} :catchall_13
.line 189
:catchall_13
move-exception v0
monitor-exit p0
throw v0
.line 196
:cond_16
:try_start_16
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->BUFFER:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v1, :cond_56
const/high16 v0, 0x500000
iget v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
add-int/2addr v1, p2
if-ge v0, v1, :cond_56
.line 197
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Buffer is not enough ! "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V
.line 198
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Buffer is not enough ! "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 201
:cond_56
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->READ_ONLY:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v1, :cond_8f
.line 202
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Current type is "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V
.line 203
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Current type is "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 206
:cond_8f
if-eqz p1, :cond_d7
if-lez p2, :cond_d7
.line 207
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileSyncObj:Ljava/lang/Object;
monitor-enter v1
:try_end_96
.catchall {:try_start_16 .. :try_end_96} :catchall_13
.line 208
:try_start_96
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "putAudio data len="
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 209
const/4 v0, 0x0
iget-object v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBuffer:[B
iget v3, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
invoke-static {p1, v0, v2, v3, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 210
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
add-int/2addr v0, p2
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
.line 211
iget v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mDataCount:I
add-int/2addr v0, p2
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mDataCount:I
.line 212
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "putAudio buf len="
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v2, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBufLen:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 213
monitor-exit v1
:try_end_d7
.catchall {:try_start_96 .. :try_end_d7} :catchall_e8
.line 216
:cond_d7
:try_start_d7
sget-object v0, Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;->WRITE_READ:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mAccesserType:Lcom/iflytek/cloud/msc/ist/AudioAccessor$AccesserType;
if-ne v0, v1, :cond_e0
.line 217
invoke-direct {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->saveAudio()V
.line 220
:cond_e0
const-string v0, "putAudio leave"
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
:try_end_e5
.catchall {:try_start_d7 .. :try_end_e5} :catchall_13
.line 221
const/4 v0, 0x1
monitor-exit p0
return v0
.line 213
:catchall_e8
move-exception v0
:try_start_e9
monitor-exit v1
:try_end_ea
.catchall {:try_start_e9 .. :try_end_ea} :catchall_e8
:try_start_ea
throw v0
:try_end_eb
.catchall {:try_start_ea .. :try_end_eb} :catchall_13
.end method
.method protected readAudioInfo()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 435
const-string v0, "RIFF"
.line 436
const/4 v0, 0x4
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 437
const/4 v1, 0x0
invoke-virtual {p0, v1, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->readBytes(ILjava/nio/ByteBuffer;)I
.line 438
new-instance v1, Ljava/lang/String;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/String;-><init>([B)V
.line 439
const-string v0, "RIFF"
invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_1d
.line 457
:goto_1c
return-void
.line 443
:cond_1d
const/16 v0, 0x14
.line 444
invoke-virtual {p0, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->readShort(I)S
move-result v0
iput-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFormat:S
.line 446
const/16 v0, 0x16
.line 447
invoke-virtual {p0, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->readShort(I)S
move-result v0
iput-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mNumChannels:S
.line 449
const/16 v0, 0x18
.line 450
invoke-virtual {p0, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->readInt(I)I
move-result v0
iput v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mSampleRate:I
.line 454
const/16 v0, 0x22
.line 456
invoke-virtual {p0, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->readShort(I)S
move-result v0
iput-short v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mBitsPerSample:S
goto :goto_1c
.end method
.method protected readBytes(ILjava/nio/ByteBuffer;)I
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 515
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
int-to-long v2, p1
invoke-virtual {v0, v2, v3}, Ljava/nio/channels/FileChannel;->position(J)Ljava/nio/channels/FileChannel;
.line 516
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
invoke-virtual {v0, p2}, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;)I
move-result v0
return v0
.end method
.method protected readInt(I)I
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 504
const/4 v0, 0x4
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 505
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
int-to-long v2, p1
invoke-virtual {v1, v2, v3}, Ljava/nio/channels/FileChannel;->position(J)Ljava/nio/channels/FileChannel;
.line 506
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
invoke-virtual {v1, v0}, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;)I
.line 508
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result v1
shl-int/lit8 v1, v1, 0x0
const/4 v2, 0x1
.line 509
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result v2
shl-int/lit8 v2, v2, 0x8
or-int/2addr v1, v2
const/4 v2, 0x2
.line 510
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result v2
shl-int/lit8 v2, v2, 0x10
or-int/2addr v1, v2
const/4 v2, 0x3
.line 511
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->getInt(I)I
move-result v0
shl-int/lit8 v0, v0, 0x18
or-int/2addr v0, v1
.line 508
return v0
.end method
.method protected readShort(I)S
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 520
const/4 v0, 0x4
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 521
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
int-to-long v2, p1
invoke-virtual {v1, v2, v3}, Ljava/nio/channels/FileChannel;->position(J)Ljava/nio/channels/FileChannel;
.line 522
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
invoke-virtual {v1, v0}, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;)I
.line 524
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->getShort(I)S
move-result v1
shl-int/lit8 v1, v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->getShort(I)S
move-result v0
shl-int/lit8 v0, v0, 0x8
or-int/2addr v0, v1
int-to-short v0, v0
return v0
.end method
.method protected updateAudioFileHeader()V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 528
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "updateHeader File length:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getDataLength()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", mem file length:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
.line 529
invoke-virtual {v1}, Ljava/nio/channels/FileChannel;->size()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 528
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 530
const/4 v0, 0x4
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getDataLength()J
move-result-wide v2
long-to-int v1, v2
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeInt(II)V
.line 532
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "updateHeader data length:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 533
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getDataLength()J
move-result-wide v2
const-wide/16 v4, 0x2c
sub-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 532
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 534
const/16 v0, 0x28
invoke-virtual {p0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->getDataLength()J
move-result-wide v2
long-to-int v1, v2
add-int/lit8 v1, v1, -0x2c
invoke-virtual {p0, v0, v1}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeInt(II)V
.line 536
return-void
.end method
.method protected writeBytes(ILjava/nio/ByteBuffer;)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 460
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "writeBytes buffer len="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->capacity()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 462
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 463
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
int-to-long v2, p1
invoke-virtual {v0, v2, v3}, Ljava/nio/channels/FileChannel;->position(J)Ljava/nio/channels/FileChannel;
.line 464
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
invoke-virtual {v0, p2}, Ljava/nio/channels/FileChannel;->write(Ljava/nio/ByteBuffer;)I
move-result v0
.line 466
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "writeBytes writen len="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 467
return-void
.end method
.method protected writeBytes(ILjava/nio/ByteBuffer;I)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 470
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "writeBytes buffer len="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->capacity()I
move-result v1
sub-int/2addr v1, p3
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 472
invoke-virtual {p2, p3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 473
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
int-to-long v2, p1
invoke-virtual {v0, v2, v3}, Ljava/nio/channels/FileChannel;->position(J)Ljava/nio/channels/FileChannel;
.line 474
iget-object v0, p0, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->mFileChannel:Ljava/nio/channels/FileChannel;
invoke-virtual {v0, p2}, Ljava/nio/channels/FileChannel;->write(Ljava/nio/ByteBuffer;)I
move-result v0
.line 476
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "writeBytes writen len="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogS(Ljava/lang/String;)V
.line 477
return-void
.end method
.method protected writeBytes(I[B)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 480
array-length v0, p2
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 481
invoke-virtual {v0, p2}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 482
invoke-virtual {p0, p1, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(ILjava/nio/ByteBuffer;)V
.line 483
return-void
.end method
.method protected writeInt(II)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 486
const/4 v0, 0x4
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 487
const/4 v1, 0x0
shr-int/lit8 v2, p2, 0x0
int-to-byte v2, v2
invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
.line 488
const/4 v1, 0x1
shr-int/lit8 v2, p2, 0x8
int-to-byte v2, v2
invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
.line 489
const/4 v1, 0x2
shr-int/lit8 v2, p2, 0x10
int-to-byte v2, v2
invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
.line 490
const/4 v1, 0x3
shr-int/lit8 v2, p2, 0x18
int-to-byte v2, v2
invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
.line 492
invoke-virtual {p0, p1, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(ILjava/nio/ByteBuffer;)V
.line 493
return-void
.end method
.method protected writeShort(IS)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 496
const/4 v0, 0x2
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 497
const/4 v1, 0x0
shr-int/lit8 v2, p2, 0x0
int-to-byte v2, v2
invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
.line 498
const/4 v1, 0x1
shr-int/lit8 v2, p2, 0x8
int-to-byte v2, v2
invoke-virtual {v0, v1, v2}, Ljava/nio/ByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
.line 500
invoke-virtual {p0, p1, v0}, Lcom/iflytek/cloud/msc/ist/AudioAccessor;->writeBytes(ILjava/nio/ByteBuffer;)V
.line 501
return-void
.end method