AudioEncodeUtil.smali
.class public Lim/tpelyyftgw/ui/utils/translate/utils/AudioEncodeUtil;
.super Ljava/lang/Object;
.source "AudioEncodeUtil.java"
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static addADTStoPacket([BI)V
.registers 8
.param p0, "packet" # [B
.param p1, "packetLen" # I
.line 336
const/4 v0, 0x2
.line 337
.local v0, "profile":I
const/4 v1, 0x4
.line 338
.local v1, "freqIdx":I
const/4 v2, 0x2
.line 339
.local v2, "chanCfg":I
const/4 v3, 0x0
const/4 v4, -0x1
aput-byte v4, p0, v3
.line 340
const/4 v3, -0x7
const/4 v4, 0x1
aput-byte v3, p0, v4
.line 341
add-int/lit8 v3, v0, -0x1
const/4 v4, 0x6
shl-int/2addr v3, v4
shl-int/lit8 v5, v1, 0x2
add-int/2addr v3, v5
shr-int/lit8 v5, v2, 0x2
add-int/2addr v3, v5
int-to-byte v3, v3
const/4 v5, 0x2
aput-byte v3, p0, v5
.line 342
and-int/lit8 v3, v2, 0x3
shl-int/2addr v3, v4
shr-int/lit8 v5, p1, 0xb
add-int/2addr v3, v5
int-to-byte v3, v3
const/4 v5, 0x3
aput-byte v3, p0, v5
.line 343
and-int/lit16 v3, p1, 0x7ff
shr-int/2addr v3, v5
int-to-byte v3, v3
const/4 v5, 0x4
aput-byte v3, p0, v5
.line 344
and-int/lit8 v3, p1, 0x7
const/4 v5, 0x5
shl-int/2addr v3, v5
add-int/lit8 v3, v3, 0x1f
int-to-byte v3, v3
aput-byte v3, p0, v5
.line 345
const/4 v3, -0x4
aput-byte v3, p0, v4
.line 346
return-void
.end method
.method private static computePresentationTime(J)J
.registers 6
.param p0, "frameIndex" # J
.line 351
const-wide/32 v0, 0x15f90
mul-long v0, v0, p0
const-wide/16 v2, 0x400
mul-long v0, v0, v2
const-wide/32 v2, 0xac44
div-long/2addr v0, v2
return-wide v0
.end method
.method public static convertPcm2Acc(Ljava/lang/String;Ljava/lang/String;III)V
.registers 31
.param p0, "inPcmFilePath" # Ljava/lang/String;
.param p1, "outWavFilePath" # Ljava/lang/String;
.param p2, "sampleRate" # I
.param p3, "channels" # I
.param p4, "bitNum" # I
.line 224
const-string v0, "audio/mp4a-latm"
const/4 v1, 0x0
.line 226
.local v1, "mediaCodec":Landroid/media/MediaCodec;
const/4 v2, 0x0
.line 227
.local v2, "inputBuffers":[Ljava/nio/ByteBuffer;
const/4 v3, 0x0
.line 228
.local v3, "outputBuffers":[Ljava/nio/ByteBuffer;
const/4 v4, 0x0
.line 230
.local v4, "bufferInfo":Landroid/media/MediaCodec$BufferInfo;
const-wide/16 v5, 0x0
.line 231
.local v5, "presentationTimeUs":J
const/4 v7, 0x0
.line 233
.local v7, "encFi":Ljava/io/FileOutputStream;
const/4 v8, 0x0
.line 235
.local v8, "outputStream":Ljava/io/ByteArrayOutputStream;
const/4 v9, 0x0
:try_start_b
invoke-static {v0}, Landroid/media/MediaCodec;->createEncoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;
move-result-object v10
move-object v1, v10
.line 237
const/4 v10, 0x6
new-array v10, v10, [I
const/16 v11, 0x1f40
aput v11, v10, v9
const/16 v11, 0x2b11
const/4 v12, 0x1
aput v11, v10, v12
const/16 v11, 0x3e80
const/4 v13, 0x2
aput v11, v10, v13
const/16 v11, 0x5622
const/4 v14, 0x3
aput v11, v10, v14
const/4 v11, 0x4
const v15, 0xac44
aput v15, v10, v11
const/4 v11, 0x5
const v15, 0xbb80
aput v15, v10, v11
.line 239
.local v10, "kSampleRates":[I
new-array v11, v14, [I
const v14, 0xfa00
aput v14, v11, v9
const v14, 0x17700
aput v14, v11, v12
const v14, 0x1f400
aput v14, v11, v13
:try_end_43
.catch Ljava/io/IOException; {:try_start_b .. :try_end_43} :catch_9a
.line 241
.local v11, "kBitRates":[I
move/from16 v14, p2
move/from16 v15, p3
:try_start_47
invoke-static {v0, v14, v15}, Landroid/media/MediaFormat;->createAudioFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;
move-result-object v16
move-object/from16 v17, v16
.line 243
.local v17, "mediaFormat":Landroid/media/MediaFormat;
const-string v9, "mime"
move-object/from16 v12, v17
.end local v17 # "mediaFormat":Landroid/media/MediaFormat;
.local v12, "mediaFormat":Landroid/media/MediaFormat;
invoke-virtual {v12, v9, v0}, Landroid/media/MediaFormat;->setString(Ljava/lang/String;Ljava/lang/String;)V
.line 244
const-string v0, "aac-profile"
invoke-virtual {v12, v0, v13}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 246
const-string v0, "bitrate"
const/4 v9, 0x1
aget v13, v11, v9
invoke-virtual {v12, v0, v13}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 248
const-string v0, "max-input-size"
const/16 v9, 0x1000
invoke-virtual {v12, v0, v9}, Landroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
.line 250
const/4 v0, 0x0
const/4 v9, 0x1
invoke-virtual {v1, v12, v0, v0, v9}, Landroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
.line 252
invoke-virtual {v1}, Landroid/media/MediaCodec;->start()V
.line 253
invoke-virtual {v1}, Landroid/media/MediaCodec;->getInputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v0
move-object v2, v0
.line 254
invoke-virtual {v1}, Landroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
move-result-object v0
move-object v3, v0
.line 255
new-instance v0, Landroid/media/MediaCodec$BufferInfo;
invoke-direct {v0}, Landroid/media/MediaCodec$BufferInfo;-><init>()V
move-object v4, v0
.line 257
new-instance v0, Ljava/io/File;
:try_end_82
.catch Ljava/io/IOException; {:try_start_47 .. :try_end_82} :catch_96
move-object/from16 v9, p1
:try_start_84
invoke-direct {v0, v9}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 258
.local v0, "file":Ljava/io/File;
new-instance v13, Ljava/io/FileOutputStream;
invoke-direct {v13, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
move-object v7, v13
.line 259
new-instance v13, Ljava/io/ByteArrayOutputStream;
invoke-direct {v13}, Ljava/io/ByteArrayOutputStream;-><init>()V
:try_end_92
.catch Ljava/io/IOException; {:try_start_84 .. :try_end_92} :catch_94
move-object v8, v13
.line 262
.end local v0 # "file":Ljava/io/File;
.end local v10 # "kSampleRates":[I
.end local v11 # "kBitRates":[I
.end local v12 # "mediaFormat":Landroid/media/MediaFormat;
goto :goto_a4
.line 260
:catch_94
move-exception v0
goto :goto_a1
:catch_96
move-exception v0
move-object/from16 v9, p1
goto :goto_a1
:catch_9a
move-exception v0
move-object/from16 v9, p1
move/from16 v14, p2
move/from16 v15, p3
.line 261
.local v0, "e":Ljava/io/IOException;
:goto_a1
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
.line 264
.end local v0 # "e":Ljava/io/IOException;
:goto_a4
const/16 v10, 0x1000
.line 265
.local v10, "size":I
new-array v11, v10, [B
.line 266
.local v11, "inBuffer":[B
new-instance v0, Ljava/io/File;
move-object/from16 v12, p0
invoke-direct {v0, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
move-object v13, v0
.line 267
.local v13, "inFile":Ljava/io/File;
const/16 v17, 0x0
.line 268
.local v17, "in":Ljava/io/FileInputStream;
const/16 v18, 0x0
.line 270
.local v18, "len":I
:try_start_b4
new-instance v0, Ljava/io/FileInputStream;
invoke-direct {v0, v13}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
:try_end_b9
.catch Ljava/io/IOException; {:try_start_b4 .. :try_end_b9} :catch_1d5
.catch Ljava/lang/Exception; {:try_start_b4 .. :try_end_b9} :catch_1ca
move-object/from16 v24, v0
.line 272
.end local v17 # "in":Ljava/io/FileInputStream;
.local v24, "in":Ljava/io/FileInputStream;
:goto_bb
const/16 v0, 0x800
move-object/from16 v9, v24
move/from16 v24, v10
const/4 v10, 0x0
.end local v10 # "size":I
.local v9, "in":Ljava/io/FileInputStream;
.local v24, "size":I
:try_start_c2
invoke-virtual {v9, v11, v10, v0}, Ljava/io/FileInputStream;->read([BII)I
move-result v0
:try_end_c6
.catch Ljava/io/IOException; {:try_start_c2 .. :try_end_c6} :catch_1c0
.catch Ljava/lang/Exception; {:try_start_c2 .. :try_end_c6} :catch_1b6
move/from16 v20, v0
.end local v18 # "len":I
.local v20, "len":I
if-lez v0, :cond_1ab
.line 273
move-object/from16 v25, v9
.end local v9 # "in":Ljava/io/FileInputStream;
.local v25, "in":Ljava/io/FileInputStream;
const-wide/16 v9, -0x1
:try_start_ce
invoke-virtual {v1, v9, v10}, Landroid/media/MediaCodec;->dequeueInputBuffer(J)I
move-result v0
:try_end_d2
.catch Ljava/io/IOException; {:try_start_ce .. :try_end_d2} :catch_1a1
.catch Ljava/lang/Exception; {:try_start_ce .. :try_end_d2} :catch_197
.line 274
.local v0, "inputBufferIndex":I
if-ltz v0, :cond_10a
.line 275
:try_start_d4
aget-object v9, v2, v0
.line 276
.local v9, "inputBuffer":Ljava/nio/ByteBuffer;
invoke-virtual {v9}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
.line 277
invoke-virtual {v9, v11}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 278
array-length v10, v11
invoke-virtual {v9, v10}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 280
invoke-static {v5, v6}, Lim/tpelyyftgw/ui/utils/translate/utils/AudioEncodeUtil;->computePresentationTime(J)J
move-result-wide v21
.line 281
.local v21, "pts":J
const/16 v19, 0x400
const/16 v23, 0x0
move-object/from16 v17, v1
move/from16 v18, v0
invoke-virtual/range {v17 .. v23}, Landroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
:try_end_ef
.catch Ljava/io/IOException; {:try_start_d4 .. :try_end_ef} :catch_ff
.catch Ljava/lang/Exception; {:try_start_d4 .. :try_end_ef} :catch_f4
.line 282
const-wide/16 v17, 0x1
add-long v5, v5, v17
goto :goto_10a
.line 312
.end local v0 # "inputBufferIndex":I
.end local v9 # "inputBuffer":Ljava/nio/ByteBuffer;
.end local v21 # "pts":J
:catch_f4
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move/from16 v18, v20
move-object/from16 v17, v25
goto/16 :goto_1d1
.line 310
:catch_ff
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move/from16 v18, v20
move-object/from16 v17, v25
goto/16 :goto_1dc
.line 284
.restart local v0 # "inputBufferIndex":I
:cond_10a
:goto_10a
const-wide/16 v9, 0x0
:try_start_10c
invoke-virtual {v1, v4, v9, v10}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v17
move/from16 v9, v17
.line 285
.local v9, "outputBufferIndex":I
:goto_112
if-ltz v9, :cond_16a
.line 286
iget v10, v4, Landroid/media/MediaCodec$BufferInfo;->size:I
.line 287
.local v10, "outBitsSize":I
move/from16 v17, v0
.end local v0 # "inputBufferIndex":I
.local v17, "inputBufferIndex":I
add-int/lit8 v0, v10, 0x7
.line 288
.local v0, "outPacketSize":I
aget-object v21, v3, v9
:try_end_11c
.catch Ljava/io/IOException; {:try_start_10c .. :try_end_11c} :catch_1a1
.catch Ljava/lang/Exception; {:try_start_10c .. :try_end_11c} :catch_197
move-object/from16 v22, v21
.line 289
.local v22, "outputBuffer":Ljava/nio/ByteBuffer;
move-object/from16 v21, v2
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.local v21, "inputBuffers":[Ljava/nio/ByteBuffer;
:try_start_120
iget v2, v4, Landroid/media/MediaCodec$BufferInfo;->offset:I
:try_end_122
.catch Ljava/io/IOException; {:try_start_120 .. :try_end_122} :catch_161
.catch Ljava/lang/Exception; {:try_start_120 .. :try_end_122} :catch_158
move-object/from16 v23, v3
move-object/from16 v3, v22
.end local v22 # "outputBuffer":Ljava/nio/ByteBuffer;
.local v3, "outputBuffer":Ljava/nio/ByteBuffer;
.local v23, "outputBuffers":[Ljava/nio/ByteBuffer;
:try_start_126
invoke-virtual {v3, v2}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 290
iget v2, v4, Landroid/media/MediaCodec$BufferInfo;->offset:I
add-int/2addr v2, v10
invoke-virtual {v3, v2}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 292
new-array v2, v0, [B
.line 293
.local v2, "outData":[B
invoke-static {v2, v0}, Lim/tpelyyftgw/ui/utils/translate/utils/AudioEncodeUtil;->addADTStoPacket([BI)V
.line 294
move/from16 v22, v0
.end local v0 # "outPacketSize":I
.local v22, "outPacketSize":I
const/4 v0, 0x7
invoke-virtual {v3, v2, v0, v10}, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
.line 295
iget v0, v4, Landroid/media/MediaCodec$BufferInfo;->offset:I
invoke-virtual {v3, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 297
invoke-virtual {v8, v2}, Ljava/io/ByteArrayOutputStream;->write([B)V
.line 299
move-object v0, v2
const/4 v2, 0x0
.end local v2 # "outData":[B
.local v0, "outData":[B
invoke-virtual {v1, v9, v2}, Landroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
.line 300
move-object/from16 v16, v3
const-wide/16 v2, 0x0
.end local v3 # "outputBuffer":Ljava/nio/ByteBuffer;
.local v16, "outputBuffer":Ljava/nio/ByteBuffer;
invoke-virtual {v1, v4, v2, v3}, Landroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
move-result v18
move/from16 v9, v18
.line 301
.end local v0 # "outData":[B
.end local v10 # "outBitsSize":I
.end local v16 # "outputBuffer":Ljava/nio/ByteBuffer;
.end local v22 # "outPacketSize":I
move/from16 v0, v17
move-object/from16 v2, v21
move-object/from16 v3, v23
goto :goto_112
.line 312
.end local v9 # "outputBufferIndex":I
.end local v17 # "inputBufferIndex":I
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.local v3, "outputBuffers":[Ljava/nio/ByteBuffer;
:catch_158
move-exception v0
move-object/from16 v23, v3
move/from16 v18, v20
move-object/from16 v17, v25
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
goto/16 :goto_1d1
.line 310
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
:catch_161
move-exception v0
move-object/from16 v23, v3
move/from16 v18, v20
move-object/from16 v17, v25
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
goto/16 :goto_1dc
.line 303
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.local v0, "inputBufferIndex":I
.local v2, "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v9 # "outputBufferIndex":I
:cond_16a
move/from16 v17, v0
move-object/from16 v21, v2
move-object/from16 v23, v3
.end local v0 # "inputBufferIndex":I
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v17 # "inputBufferIndex":I
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
invoke-virtual {v8}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v0
.line 304
.local v0, "out":[B
invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;->write([B)V
.line 306
invoke-virtual {v8}, Ljava/io/ByteArrayOutputStream;->flush()V
.line 307
invoke-virtual {v8}, Ljava/io/ByteArrayOutputStream;->reset()V
:try_end_17d
.catch Ljava/io/IOException; {:try_start_126 .. :try_end_17d} :catch_191
.catch Ljava/lang/Exception; {:try_start_126 .. :try_end_17d} :catch_18b
.line 308
.end local v0 # "out":[B
.end local v9 # "outputBufferIndex":I
.end local v17 # "inputBufferIndex":I
move-object/from16 v9, p1
move/from16 v18, v20
move-object/from16 v2, v21
move-object/from16 v3, v23
move/from16 v10, v24
move-object/from16 v24, v25
goto/16 :goto_bb
.line 312
:catch_18b
move-exception v0
move/from16 v18, v20
move-object/from16 v17, v25
goto :goto_1d1
.line 310
:catch_191
move-exception v0
move/from16 v18, v20
move-object/from16 v17, v25
goto :goto_1dc
.line 312
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
:catch_197
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move/from16 v18, v20
move-object/from16 v17, v25
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
goto :goto_1d1
.line 310
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
:catch_1a1
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move/from16 v18, v20
move-object/from16 v17, v25
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
goto :goto_1dc
.line 314
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v25 # "in":Ljava/io/FileInputStream;
.restart local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.local v9, "in":Ljava/io/FileInputStream;
:cond_1ab
move-object/from16 v21, v2
move-object/from16 v23, v3
move-object/from16 v25, v9
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v9 # "in":Ljava/io/FileInputStream;
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v25 # "in":Ljava/io/FileInputStream;
move/from16 v18, v20
move-object/from16 v17, v25
goto :goto_1e0
.line 312
.end local v20 # "len":I
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v25 # "in":Ljava/io/FileInputStream;
.restart local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v9 # "in":Ljava/io/FileInputStream;
.restart local v18 # "len":I
:catch_1b6
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move-object/from16 v25, v9
move-object/from16 v17, v25
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v9 # "in":Ljava/io/FileInputStream;
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v25 # "in":Ljava/io/FileInputStream;
goto :goto_1d1
.line 310
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v25 # "in":Ljava/io/FileInputStream;
.restart local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v9 # "in":Ljava/io/FileInputStream;
:catch_1c0
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move-object/from16 v25, v9
move-object/from16 v17, v25
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v9 # "in":Ljava/io/FileInputStream;
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v25 # "in":Ljava/io/FileInputStream;
goto :goto_1dc
.line 312
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v24 # "size":I
.end local v25 # "in":Ljava/io/FileInputStream;
.restart local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.local v10, "size":I
.local v17, "in":Ljava/io/FileInputStream;
:catch_1ca
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move/from16 v24, v10
.line 313
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v10 # "size":I
.local v0, "e":Ljava/lang/Exception;
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v24 # "size":I
:goto_1d1
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_1e0
.line 310
.end local v0 # "e":Ljava/lang/Exception;
.end local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v24 # "size":I
.restart local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v10 # "size":I
:catch_1d5
move-exception v0
move-object/from16 v21, v2
move-object/from16 v23, v3
move/from16 v24, v10
.line 311
.end local v2 # "inputBuffers":[Ljava/nio/ByteBuffer;
.end local v3 # "outputBuffers":[Ljava/nio/ByteBuffer;
.end local v10 # "size":I
.local v0, "e":Ljava/io/IOException;
.restart local v21 # "inputBuffers":[Ljava/nio/ByteBuffer;
.restart local v23 # "outputBuffers":[Ljava/nio/ByteBuffer;
.restart local v24 # "size":I
:goto_1dc
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
.line 314
.end local v0 # "e":Ljava/io/IOException;
nop
.line 318
:goto_1e0
:try_start_1e0
invoke-virtual {v1}, Landroid/media/MediaCodec;->stop()V
.line 319
invoke-virtual {v1}, Landroid/media/MediaCodec;->release()V
.line 320
invoke-virtual {v8}, Ljava/io/ByteArrayOutputStream;->flush()V
.line 321
invoke-virtual {v8}, Ljava/io/ByteArrayOutputStream;->close()V
.line 322
invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
:try_end_1ef
.catch Ljava/lang/Exception; {:try_start_1e0 .. :try_end_1ef} :catch_1f0
.line 325
goto :goto_1f4
.line 323
:catch_1f0
move-exception v0
.line 324
.local v0, "e":Ljava/lang/Exception;
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 327
.end local v0 # "e":Ljava/lang/Exception;
:goto_1f4
return-void
.end method
.method public static convertPcm2Wav(Ljava/lang/String;Ljava/lang/String;)V
.registers 5
.param p0, "inPcmFilePath" # Ljava/lang/String;
.param p1, "outWavFilePath" # Ljava/lang/String;
.line 67
const/16 v0, 0x3e80
const/4 v1, 0x1
const/16 v2, 0x10
invoke-static {p0, p1, v0, v1, v2}, Lim/tpelyyftgw/ui/utils/translate/utils/AudioEncodeUtil;->convertPcm2Wav(Ljava/lang/String;Ljava/lang/String;III)V
.line 69
return-void
.end method
.method public static convertPcm2Wav(Ljava/lang/String;Ljava/lang/String;III)V
.registers 15
.param p0, "inPcmFilePath" # Ljava/lang/String;
.param p1, "outWavFilePath" # Ljava/lang/String;
.param p2, "sampleRate" # I
.param p3, "channels" # I
.param p4, "bitNum" # I
.line 84
const/4 v0, 0x0
.line 85
.local v0, "in":Ljava/io/FileInputStream;
const/4 v1, 0x0
.line 86
.local v1, "out":Ljava/io/FileOutputStream;
const/16 v2, 0x400
new-array v2, v2, [B
.line 90
.local v2, "data":[B
:try_start_6
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, p0}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
move-object v0, v3
.line 91
new-instance v3, Ljava/io/FileOutputStream;
invoke-direct {v3, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
move-object v1, v3
.line 94
invoke-virtual {v0}, Ljava/io/FileInputStream;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v3
invoke-virtual {v3}, Ljava/nio/channels/FileChannel;->size()J
move-result-wide v5
.line 96
.local v5, "totalAudioLen":J
move-object v4, v1
move v7, p2
move v8, p3
move v9, p4
invoke-static/range {v4 .. v9}, Lim/tpelyyftgw/ui/utils/translate/utils/AudioEncodeUtil;->writeWaveFileHeader(Ljava/io/FileOutputStream;JIII)V
.line 98
const/4 v3, 0x0
.line 99
.local v3, "length":I
:goto_22
invoke-virtual {v0, v2}, Ljava/io/FileInputStream;->read([B)I
move-result v4
move v3, v4
if-lez v4, :cond_2e
.line 100
const/4 v4, 0x0
invoke-virtual {v1, v2, v4, v3}, Ljava/io/FileOutputStream;->write([BII)V
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_2d} :catch_43
.catchall {:try_start_6 .. :try_end_2d} :catchall_41
goto :goto_22
.line 105
.end local v3 # "length":I
.end local v5 # "totalAudioLen":J
:cond_2e
nop
.line 107
:try_start_2f
invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V
:try_end_32
.catch Ljava/io/IOException; {:try_start_2f .. :try_end_32} :catch_33
.line 110
goto :goto_37
.line 108
:catch_33
move-exception v3
.line 109
.local v3, "e":Ljava/io/IOException;
invoke-virtual {v3}, Ljava/io/IOException;->printStackTrace()V
.line 112
.end local v3 # "e":Ljava/io/IOException;
:goto_37
nop
.line 114
:try_start_38
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_3b
.catch Ljava/io/IOException; {:try_start_38 .. :try_end_3b} :catch_3c
.line 117
:goto_3b
goto :goto_57
.line 115
:catch_3c
move-exception v3
.line 116
.restart local v3 # "e":Ljava/io/IOException;
invoke-virtual {v3}, Ljava/io/IOException;->printStackTrace()V
.end local v3 # "e":Ljava/io/IOException;
goto :goto_3b
.line 105
:catchall_41
move-exception v3
goto :goto_58
.line 102
:catch_43
move-exception v3
.line 103
.local v3, "e":Ljava/lang/Exception;
:try_start_44
invoke-virtual {v3}, Ljava/lang/Exception;->printStackTrace()V
:try_end_47
.catchall {:try_start_44 .. :try_end_47} :catchall_41
.line 105
.end local v3 # "e":Ljava/lang/Exception;
if-eqz v0, :cond_51
.line 107
:try_start_49
invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V
:try_end_4c
.catch Ljava/io/IOException; {:try_start_49 .. :try_end_4c} :catch_4d
.line 110
goto :goto_51
.line 108
:catch_4d
move-exception v3
.line 109
.local v3, "e":Ljava/io/IOException;
invoke-virtual {v3}, Ljava/io/IOException;->printStackTrace()V
.line 112
.end local v3 # "e":Ljava/io/IOException;
:cond_51
:goto_51
if-eqz v1, :cond_57
.line 114
:try_start_53
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_56
.catch Ljava/io/IOException; {:try_start_53 .. :try_end_56} :catch_3c
goto :goto_3b
.line 120
:cond_57
:goto_57
return-void
.line 105
:goto_58
if-eqz v0, :cond_62
.line 107
:try_start_5a
invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V
:try_end_5d
.catch Ljava/io/IOException; {:try_start_5a .. :try_end_5d} :catch_5e
.line 110
goto :goto_62
.line 108
:catch_5e
move-exception v4
.line 109
.local v4, "e":Ljava/io/IOException;
invoke-virtual {v4}, Ljava/io/IOException;->printStackTrace()V
.line 112
.end local v4 # "e":Ljava/io/IOException;
:cond_62
:goto_62
if-eqz v1, :cond_6c
.line 114
:try_start_64
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_67
.catch Ljava/io/IOException; {:try_start_64 .. :try_end_67} :catch_68
.line 117
goto :goto_6c
.line 115
:catch_68
move-exception v4
.line 116
.restart local v4 # "e":Ljava/io/IOException;
invoke-virtual {v4}, Ljava/io/IOException;->printStackTrace()V
.line 119
.end local v4 # "e":Ljava/io/IOException;
:cond_6c
:goto_6c
goto :goto_6e
:goto_6d
throw v3
:goto_6e
goto :goto_6d
.end method
.method public static convertWav2Pcm(Ljava/lang/String;Ljava/lang/String;)V
.registers 8
.param p0, "inWaveFilePath" # Ljava/lang/String;
.param p1, "outPcmFilePath" # Ljava/lang/String;
.line 27
const/4 v0, 0x0
.line 28
.local v0, "in":Ljava/io/FileInputStream;
const/4 v1, 0x0
.line 29
.local v1, "out":Ljava/io/FileOutputStream;
const/16 v2, 0x400
new-array v2, v2, [B
.line 33
.local v2, "data":[B
:try_start_6
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, p0}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
move-object v0, v3
.line 34
new-instance v3, Ljava/io/FileOutputStream;
invoke-direct {v3, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
move-object v1, v3
.line 36
const/16 v3, 0x2c
new-array v3, v3, [B
.line 37
.local v3, "header":[B
invoke-virtual {v0, v3}, Ljava/io/FileInputStream;->read([B)I
.line 39
const/4 v4, 0x0
.line 40
.local v4, "length":I
:goto_1a
invoke-virtual {v0, v2}, Ljava/io/FileInputStream;->read([B)I
move-result v5
move v4, v5
if-lez v5, :cond_26
.line 41
const/4 v5, 0x0
invoke-virtual {v1, v2, v5, v4}, Ljava/io/FileOutputStream;->write([BII)V
:try_end_25
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_25} :catch_3b
.catchall {:try_start_6 .. :try_end_25} :catchall_39
goto :goto_1a
.line 46
.end local v3 # "header":[B
.end local v4 # "length":I
:cond_26
nop
.line 48
:try_start_27
invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V
:try_end_2a
.catch Ljava/io/IOException; {:try_start_27 .. :try_end_2a} :catch_2b
.line 51
goto :goto_2f
.line 49
:catch_2b
move-exception v3
.line 50
.local v3, "e":Ljava/io/IOException;
invoke-virtual {v3}, Ljava/io/IOException;->printStackTrace()V
.line 53
.end local v3 # "e":Ljava/io/IOException;
:goto_2f
nop
.line 55
:try_start_30
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_33
.catch Ljava/io/IOException; {:try_start_30 .. :try_end_33} :catch_34
.line 58
:goto_33
goto :goto_4f
.line 56
:catch_34
move-exception v3
.line 57
.restart local v3 # "e":Ljava/io/IOException;
invoke-virtual {v3}, Ljava/io/IOException;->printStackTrace()V
.end local v3 # "e":Ljava/io/IOException;
goto :goto_33
.line 46
:catchall_39
move-exception v3
goto :goto_50
.line 43
:catch_3b
move-exception v3
.line 44
.local v3, "e":Ljava/lang/Exception;
:try_start_3c
invoke-virtual {v3}, Ljava/lang/Exception;->printStackTrace()V
:try_end_3f
.catchall {:try_start_3c .. :try_end_3f} :catchall_39
.line 46
.end local v3 # "e":Ljava/lang/Exception;
if-eqz v0, :cond_49
.line 48
:try_start_41
invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V
:try_end_44
.catch Ljava/io/IOException; {:try_start_41 .. :try_end_44} :catch_45
.line 51
goto :goto_49
.line 49
:catch_45
move-exception v3
.line 50
.local v3, "e":Ljava/io/IOException;
invoke-virtual {v3}, Ljava/io/IOException;->printStackTrace()V
.line 53
.end local v3 # "e":Ljava/io/IOException;
:cond_49
:goto_49
if-eqz v1, :cond_4f
.line 55
:try_start_4b
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_4e
.catch Ljava/io/IOException; {:try_start_4b .. :try_end_4e} :catch_34
goto :goto_33
.line 61
:cond_4f
:goto_4f
return-void
.line 46
:goto_50
if-eqz v0, :cond_5a
.line 48
:try_start_52
invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V
:try_end_55
.catch Ljava/io/IOException; {:try_start_52 .. :try_end_55} :catch_56
.line 51
goto :goto_5a
.line 49
:catch_56
move-exception v4
.line 50
.local v4, "e":Ljava/io/IOException;
invoke-virtual {v4}, Ljava/io/IOException;->printStackTrace()V
.line 53
.end local v4 # "e":Ljava/io/IOException;
:cond_5a
:goto_5a
if-eqz v1, :cond_64
.line 55
:try_start_5c
invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
:try_end_5f
.catch Ljava/io/IOException; {:try_start_5c .. :try_end_5f} :catch_60
.line 58
goto :goto_64
.line 56
:catch_60
move-exception v4
.line 57
.restart local v4 # "e":Ljava/io/IOException;
invoke-virtual {v4}, Ljava/io/IOException;->printStackTrace()V
.line 60
.end local v4 # "e":Ljava/io/IOException;
:cond_64
:goto_64
goto :goto_66
:goto_65
throw v3
:goto_66
goto :goto_65
.end method
.method public static getWaveHeader(JIII)[B
.registers 22
.param p0, "totalAudioLen" # J
.param p2, "sampleRate" # I
.param p3, "channels" # I
.param p4, "bitNum" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 150
move/from16 v0, p2
move/from16 v1, p3
const-wide/16 v2, 0x24
add-long v2, p0, v2
.line 152
.local v2, "totalDataLen":J
mul-int v4, v0, v1
mul-int v4, v4, p4
const/16 v5, 0x8
div-int/2addr v4, v5
int-to-long v6, v4
.line 154
.local v6, "byteRate":J
const/16 v4, 0x2c
new-array v4, v4, [B
.line 155
.local v4, "header":[B
const/16 v8, 0x52
const/4 v9, 0x0
aput-byte v8, v4, v9
.line 156
const/16 v8, 0x49
const/4 v10, 0x1
aput-byte v8, v4, v10
.line 157
const/16 v8, 0x46
const/4 v11, 0x2
aput-byte v8, v4, v11
.line 158
const/4 v11, 0x3
aput-byte v8, v4, v11
.line 159
const-wide/16 v11, 0xff
and-long v13, v2, v11
long-to-int v8, v13
int-to-byte v8, v8
const/4 v13, 0x4
aput-byte v8, v4, v13
.line 160
shr-long v13, v2, v5
and-long/2addr v13, v11
long-to-int v8, v13
int-to-byte v8, v8
const/4 v13, 0x5
aput-byte v8, v4, v13
.line 161
const/16 v8, 0x10
shr-long v13, v2, v8
and-long/2addr v13, v11
long-to-int v14, v13
int-to-byte v13, v14
const/4 v14, 0x6
aput-byte v13, v4, v14
.line 162
const/16 v13, 0x18
shr-long v14, v2, v13
and-long/2addr v14, v11
long-to-int v15, v14
int-to-byte v14, v15
const/4 v15, 0x7
aput-byte v14, v4, v15
.line 163
const/16 v14, 0x57
aput-byte v14, v4, v5
.line 164
const/16 v14, 0x9
const/16 v15, 0x41
aput-byte v15, v4, v14
.line 165
const/16 v14, 0xa
const/16 v15, 0x56
aput-byte v15, v4, v14
.line 166
const/16 v14, 0xb
const/16 v15, 0x45
aput-byte v15, v4, v14
.line 168
const/16 v14, 0xc
const/16 v15, 0x66
aput-byte v15, v4, v14
.line 169
const/16 v14, 0xd
const/16 v15, 0x6d
aput-byte v15, v4, v14
.line 170
const/16 v14, 0x74
const/16 v15, 0xe
aput-byte v14, v4, v15
.line 171
const/16 v15, 0x20
const/16 v16, 0xf
aput-byte v15, v4, v16
.line 173
aput-byte v8, v4, v8
.line 174
const/16 v16, 0x11
aput-byte v9, v4, v16
.line 175
const/16 v16, 0x12
aput-byte v9, v4, v16
.line 176
const/16 v16, 0x13
aput-byte v9, v4, v16
.line 178
const/16 v16, 0x14
aput-byte v10, v4, v16
.line 179
const/16 v10, 0x15
aput-byte v9, v4, v10
.line 181
int-to-byte v10, v1
const/16 v16, 0x16
aput-byte v10, v4, v16
.line 182
const/16 v10, 0x17
aput-byte v9, v4, v10
.line 184
and-int/lit16 v10, v0, 0xff
int-to-byte v10, v10
aput-byte v10, v4, v13
.line 185
shr-int/lit8 v10, v0, 0x8
and-int/lit16 v10, v10, 0xff
int-to-byte v10, v10
const/16 v16, 0x19
aput-byte v10, v4, v16
.line 186
shr-int/lit8 v10, v0, 0x10
and-int/lit16 v10, v10, 0xff
int-to-byte v10, v10
const/16 v16, 0x1a
aput-byte v10, v4, v16
.line 187
shr-int/lit8 v10, v0, 0x18
and-int/lit16 v10, v10, 0xff
int-to-byte v10, v10
const/16 v16, 0x1b
aput-byte v10, v4, v16
.line 189
and-long v9, v6, v11
long-to-int v10, v9
int-to-byte v9, v10
const/16 v10, 0x1c
aput-byte v9, v4, v10
.line 190
shr-long v9, v6, v5
and-long/2addr v9, v11
long-to-int v10, v9
int-to-byte v9, v10
const/16 v10, 0x1d
aput-byte v9, v4, v10
.line 191
shr-long v9, v6, v8
and-long/2addr v9, v11
long-to-int v10, v9
int-to-byte v9, v10
const/16 v10, 0x1e
aput-byte v9, v4, v10
.line 192
shr-long v9, v6, v13
and-long/2addr v9, v11
long-to-int v10, v9
int-to-byte v9, v10
const/16 v10, 0x1f
aput-byte v9, v4, v10
.line 194
mul-int/lit8 v9, v1, 0x10
div-int/2addr v9, v5
int-to-byte v9, v9
aput-byte v9, v4, v15
.line 195
const/16 v9, 0x21
const/4 v10, 0x0
aput-byte v10, v4, v9
.line 197
const/16 v9, 0x22
aput-byte v8, v4, v9
.line 198
const/16 v9, 0x23
aput-byte v10, v4, v9
.line 200
const/16 v9, 0x24
const/16 v10, 0x64
aput-byte v10, v4, v9
.line 201
const/16 v9, 0x61
const/16 v10, 0x25
aput-byte v9, v4, v10
.line 202
const/16 v10, 0x26
aput-byte v14, v4, v10
.line 203
const/16 v10, 0x27
aput-byte v9, v4, v10
.line 204
and-long v9, p0, v11
long-to-int v10, v9
int-to-byte v9, v10
const/16 v10, 0x28
aput-byte v9, v4, v10
.line 205
shr-long v9, p0, v5
and-long/2addr v9, v11
long-to-int v5, v9
int-to-byte v5, v5
const/16 v9, 0x29
aput-byte v5, v4, v9
.line 206
shr-long v8, p0, v8
and-long/2addr v8, v11
long-to-int v5, v8
int-to-byte v5, v5
const/16 v8, 0x2a
aput-byte v5, v4, v8
.line 207
shr-long v8, p0, v13
and-long/2addr v8, v11
long-to-int v5, v8
int-to-byte v5, v5
const/16 v8, 0x2b
aput-byte v5, v4, v8
.line 209
return-object v4
.end method
.method private static writeWaveFileHeader(Ljava/io/FileOutputStream;JIII)V
.registers 9
.param p0, "out" # Ljava/io/FileOutputStream;
.param p1, "totalAudioLen" # J
.param p3, "sampleRate" # I
.param p4, "channels" # I
.param p5, "bitNum" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 134
invoke-static {p1, p2, p3, p4, p5}, Lim/tpelyyftgw/ui/utils/translate/utils/AudioEncodeUtil;->getWaveHeader(JIII)[B
move-result-object v0
.line 135
.local v0, "header":[B
const/4 v1, 0x0
const/16 v2, 0x2c
invoke-virtual {p0, v0, v1, v2}, Ljava/io/FileOutputStream;->write([BII)V
.line 136
return-void
.end method