LocalPlayerAudioPlayThread.smali
.class public Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;
.super Ljava/lang/Thread;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
}
.end annotation
# static fields
.field private static final DELAY_CNT:I = 0x32
.field private static final TAG:Ljava/lang/String; = "LocalPlayerAudioPlayThread"
.field private static localPlayStream:I = 0x3
.field private static localPlayerChannelCount:I = 0x1
.field private static localPlayerChannelCountConfig:I = 0x4
.field private static localPlayerDefaultPlayBlockNum:I = 0x8
.field private static localPlayerPlaySample:I = 0x2
.field private static localPlayerPlaySampleConfig:I = 0x2
.field private static localPlayerSampleRate:I = 0xac44
.field private static play20msBuffSize:I = 0x0
.field private static final sPlayFromFile:Z = false
.field private static final sWavHeader:I = 0x2c
# instance fields
.field private audioDataWritePos:I
.field private volatile delayCnt:I
.field private filedChannel:I
.field private filedSampleBit:I
.field private filedSampleRate:I
.field private filedStream:I
.field private fullSleepCnt:I
.field private mPlayFile:Ljava/io/FileInputStream;
.field private mixPlayer:Landroid/media/AudioTrack;
.field private volatile mixPlaying:Z
.field private volatile nowState:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
.field private outChunk:[B
.field private outChunkSize:I
.field private playerBufferSize:I
.field private sPlayFileName:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Z)V
.registers 5
const-string p1, "Local Player Audio Play Thread"
.line 33
invoke-direct {p0, p1}, Ljava/lang/Thread;-><init>(Ljava/lang/String;)V
.line 29
sget-object p1, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;->ENABLE_AUDIO:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
iput-object p1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->nowState:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
const/16 p1, 0x32
.line 30
iput p1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
const/4 p1, 0x0
.line 42
iput-object p1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
const/4 v0, 0x0
.line 44
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
.line 45
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->audioDataWritePos:I
.line 48
iput-object p1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->outChunk:[B
.line 49
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->outChunkSize:I
.line 50
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->fullSleepCnt:I
.line 54
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "/audioorg.wav"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->sPlayFileName:Ljava/lang/String;
.line 57
iput-object p1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mPlayFile:Ljava/io/FileInputStream;
.line 59
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedStream:I
.line 60
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedChannel:I
.line 61
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedSampleRate:I
.line 62
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedSampleBit:I
const-string p1, "LocalPlayerAudioPlayThread"
const-string v0, "LocalPlayerAudioPlayThread constructor"
.line 34
invoke-static {p1, v0}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
const/4 p1, 0x1
.line 35
iput-boolean p1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlaying:Z
return-void
.end method
.method private fileCurrentPlayParams(Landroid/media/AudioTrack;)V
.registers 4
.line 355
invoke-virtual {p1}, Landroid/media/AudioTrack;->getStreamType()I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedStream:I
.line 356
invoke-virtual {p1}, Landroid/media/AudioTrack;->getSampleRate()I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedSampleRate:I
.line 357
invoke-virtual {p1}, Landroid/media/AudioTrack;->getChannelConfiguration()I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedChannel:I
.line 358
invoke-virtual {p1}, Landroid/media/AudioTrack;->getAudioFormat()I
move-result p1
iput p1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedSampleBit:I
.line 359
new-instance p1, Ljava/lang/StringBuilder;
const-string v0, "cur play format "
invoke-direct {p1, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedSampleRate:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedChannel:I
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->filedStream:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "LocalPlayerAudioPlayThread"
invoke-static {v0, p1}, Lcom/yysdk/mobile/localplayer/g;->a(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public static getProperAudioTrackBufferSize()I
.registers 5
.line 77
sget v0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerSampleRate:I
sget v1, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerChannelCount:I
mul-int v1, v1, v0
sget v2, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerPlaySample:I
mul-int v1, v1, v2
mul-int/lit8 v1, v1, 0x14
div-int/lit16 v1, v1, 0x3e8
.line 79
sput v1, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
sget v2, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerDefaultPlayBlockNum:I
mul-int v1, v1, v2
.line 80
sget v2, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerChannelCountConfig:I
sget v3, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerPlaySampleConfig:I
invoke-static {v0, v2, v3}, Landroid/media/AudioTrack;->getMinBufferSize(III)I
move-result v0
.line 81
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "playMinSize="
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, "("
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
mul-int/lit16 v3, v0, 0x3e8
sget v4, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerSampleRate:I
div-int/2addr v3, v4
sget v4, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerChannelCount:I
div-int/2addr v3, v4
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, "ms)"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const-string v3, "LocalPlayerAudioPlayThread"
invoke-static {v3, v2}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
if-le v0, v1, :cond_62
.line 85
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v1
const-string v2, "[audio]audio track minSize >= 120ms, actualSize="
invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v3, v1}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
.line 86
sget v1, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
div-int v2, v0, v1
rem-int/2addr v0, v1
if-nez v0, :cond_5c
const/4 v0, 0x0
goto :goto_5d
:cond_5c
const/4 v0, 0x1
:goto_5d
add-int/2addr v2, v0
sget v0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
mul-int v1, v2, v0
.line 88
:cond_62
sget v0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
add-int/2addr v1, v0
return v1
.end method
.method private newAudioTrack()Z
.registers 13
const-string v0, "LocalPlayerAudioPlayThread"
const-string v1, "Creating new AudioTrack"
.line 94
invoke-static {v0, v1}, Lcom/yysdk/mobile/localplayer/g;->a(Ljava/lang/String;Ljava/lang/String;)I
const/4 v1, 0x0
const/4 v2, 0x0
.line 100
:cond_9
invoke-static {}, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->getProperAudioTrackBufferSize()I
move-result v3
iput v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
const-string v3, "about to new an audiotrack"
.line 102
invoke-static {v0, v3}, Lcom/yysdk/mobile/localplayer/g;->a(Ljava/lang/String;Ljava/lang/String;)I
const/4 v3, 0x0
.line 103
iput-object v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
.line 105
:try_start_17
new-instance v11, Landroid/media/AudioTrack;
sget v5, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayStream:I
sget v6, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerSampleRate:I
sget v7, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerChannelCountConfig:I
sget v8, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerPlaySampleConfig:I
iget v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
const/4 v10, 0x1
move-object v4, v11
invoke-direct/range {v4 .. v10}, Landroid/media/AudioTrack;-><init>(IIIIII)V
iput-object v11, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
:try_end_2a
.catch Ljava/lang/IllegalArgumentException; {:try_start_17 .. :try_end_2a} :catch_31
.catch Ljava/lang/Exception; {:try_start_17 .. :try_end_2a} :catch_2b
goto :goto_47
:catch_2b
const-string v4, "new AudioTrack encountered an unexpected exception"
.line 111
invoke-static {v0, v4}, Lcom/yysdk/mobile/localplayer/g;->h(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_47
:catch_31
move-exception v4
.line 108
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "AudioTrack: "
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/lang/IllegalArgumentException;->getMessage()Ljava/lang/String;
move-result-object v4
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v0, v4}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
.line 113
:goto_47
iget-object v4, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
const/4 v5, 0x1
if-eqz v4, :cond_8b
invoke-virtual {v4}, Landroid/media/AudioTrack;->getState()I
move-result v4
if-eq v4, v5, :cond_8b
.line 114
new-instance v4, Ljava/lang/StringBuilder;
const-string v6, "Failed to create AudioTrack, PlayDevice: Media, Mono, 44.1kHz, bufferSize="
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v6, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v0, v4}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
.line 115
iget-object v4, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v4}, Landroid/media/AudioTrack;->release()V
.line 116
iput-object v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
add-int/lit8 v2, v2, 0x1
.line 118
invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
const-string v4, "Still trying, trytime="
invoke-virtual {v4, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v0, v3}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
.line 119
invoke-static {}, Ljava/lang/System;->gc()V
const-wide/16 v3, 0xc8
.line 121
:try_start_80
invoke-static {v3, v4}, Ljava/lang/Thread;->sleep(J)V
:try_end_83
.catch Ljava/lang/InterruptedException; {:try_start_80 .. :try_end_83} :catch_8a
.catch Ljava/lang/Exception; {:try_start_80 .. :try_end_83} :catch_84
goto :goto_8b
:catch_84
const-string v3, "sleep 200 encountered an unexpected exception"
.line 126
invoke-static {v0, v3}, Lcom/yysdk/mobile/localplayer/g;->h(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_8b
:catch_8a
nop
.line 129
:cond_8b
:goto_8b
iget-object v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
if-nez v3, :cond_92
const/4 v3, 0x5
if-lt v2, v3, :cond_9
.line 131
:cond_92
iget-object v2, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
if-nez v2, :cond_9c
const-string v2, "Failed to create an AudioTrack, the AudioPlayThread is exiting"
.line 132
invoke-static {v0, v2}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
return v1
.line 135
:cond_9c
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "mixPlayer created. "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
.line 1033
invoke-virtual {v3}, Landroid/media/AudioTrack;->getStreamType()I
move-result v4
const/4 v6, 0x3
if-eqz v4, :cond_b4
if-eq v4, v6, :cond_b1
const-string v4, "AudioTrack params: Stream Unknown"
goto :goto_b6
:cond_b1
const-string v4, "AudioTrack params: Stream Music"
goto :goto_b6
:cond_b4
const-string v4, "AudioTrack params: Stream Voice"
.line 1038
:goto_b6
invoke-virtual {v3}, Landroid/media/AudioTrack;->getChannelConfiguration()I
move-result v7
const/4 v8, 0x4
if-eq v7, v8, :cond_e5
const/16 v8, 0xc
if-eq v7, v8, :cond_d3
.line 1041
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", Unknown Channel"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_f6
.line 1040
:cond_d3
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", Stereo"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_f6
.line 1039
:cond_e5
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", Mono"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 1043
:goto_f6
invoke-virtual {v3}, Landroid/media/AudioTrack;->getSampleRate()I
move-result v7
const/16 v8, 0x1f40
if-eq v7, v8, :cond_154
const/16 v8, 0x3e80
if-eq v7, v8, :cond_142
const v8, 0xac44
if-eq v7, v8, :cond_130
const v8, 0xbb80
if-eq v7, v8, :cond_11e
.line 1048
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", ?? Hz"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_165
.line 1047
:cond_11e
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", 48KHz"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_165
.line 1046
:cond_130
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", 44.1KHz"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_165
.line 1045
:cond_142
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", 16KHz"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_165
.line 1044
:cond_154
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", 8KHz"
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 1050
:goto_165
invoke-virtual {v3}, Landroid/media/AudioTrack;->getAudioFormat()I
move-result v3
const/4 v7, 0x2
if-eq v3, v7, :cond_192
if-eq v3, v6, :cond_180
.line 1053
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", ?? bit."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
goto :goto_1a3
.line 1052
:cond_180
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, " 8bit."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
goto :goto_1a3
.line 1051
:cond_192
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, " 16bit."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 135
:goto_1a3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ",buffersize="
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
.line 136
iget-object v2, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-direct {p0, v2}, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->fileCurrentPlayParams(Landroid/media/AudioTrack;)V
.line 138
iget v2, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
invoke-static {v2}, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->savePlayMinBufferSize(I)V
.line 140
sget v2, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
iput v2, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->outChunkSize:I
.line 141
new-array v2, v2, [B
iput-object v2, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->outChunk:[B
const-string v2, "read time = 0"
.line 143
invoke-static {v0, v2}, Lcom/yysdk/mobile/localplayer/g;->a(Ljava/lang/String;Ljava/lang/String;)I
.line 144
iget-object v2, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
iget v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
new-array v4, v3, [B
invoke-virtual {v2, v4, v1, v3}, Landroid/media/AudioTrack;->write([BII)I
move-result v2
.line 146
:try_start_1d8
iget-object v3, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v3}, Landroid/media/AudioTrack;->play()V
:try_end_1dd
.catch Ljava/lang/IllegalStateException; {:try_start_1d8 .. :try_end_1dd} :catch_1ec
.catch Ljava/lang/Exception; {:try_start_1d8 .. :try_end_1dd} :catch_1de
goto :goto_1e3
:catch_1de
const-string v1, "AudioTrack.play() encountered an unexpected exception"
.line 151
invoke-static {v0, v1}, Lcom/yysdk/mobile/localplayer/g;->h(Ljava/lang/String;Ljava/lang/String;)I
.line 153
:goto_1e3
sget v0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerPlaySample:I
div-int/2addr v2, v0
sget v0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerChannelCount:I
div-int/2addr v2, v0
iput v2, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->audioDataWritePos:I
return v5
:catch_1ec
return v1
.end method
.method private native readNativeDataWithInfo([I[BI)I
.end method
.method public static native savePlayMinBufferSize(I)V
.end method
.method private stopMixPlayer()V
.registers 3
.line 160
iget-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
if-eqz v0, :cond_1c
.line 161
invoke-virtual {v0}, Landroid/media/AudioTrack;->flush()V
.line 163
:try_start_7
iget-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->stop()V
:try_end_c
.catch Ljava/lang/IllegalStateException; {:try_start_7 .. :try_end_c} :catch_14
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_c} :catch_d
goto :goto_14
:catch_d
const-string v0, "LocalPlayerAudioPlayThread"
const-string v1, "AudioTrack.stop() encountered an unexpected exception"
.line 168
invoke-static {v0, v1}, Lcom/yysdk/mobile/localplayer/g;->h(Ljava/lang/String;Ljava/lang/String;)I
.line 170
:catch_14
:goto_14
iget-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->release()V
const/4 v0, 0x0
.line 171
iput-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
:cond_1c
return-void
.end method
# virtual methods
.method public disableAudio()V
.registers 3
.line 368
sget-object v0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;->DISABLE_AUDIO:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
iput-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->nowState:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
const-string v0, "LocalPlayerAudioPlayThread"
const-string v1, "disable AudioTrack"
.line 369
invoke-static {v0, v1}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public enableAudio()V
.registers 3
.line 363
sget-object v0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;->ENABLE_AUDIO:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
iput-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->nowState:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
const-string v0, "LocalPlayerAudioPlayThread"
const-string v1, "enable AudioTrack"
.line 364
invoke-static {v0, v1}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public run()V
.registers 15
const-string v0, "mPlayFile.read encountered an unexpected exception!"
const/16 v1, -0xe
.line 176
invoke-static {v1}, Landroid/os/Process;->setThreadPriority(I)V
.line 192
invoke-direct {p0}, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->newAudioTrack()Z
move-result v1
if-nez v1, :cond_e
return-void
.line 196
:cond_e
iget v1, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
sget v2, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
div-int/2addr v1, v2
mul-int/lit8 v1, v1, 0x14
add-int/lit8 v1, v1, -0x14
.line 197
sget v2, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerSampleRate:I
mul-int v1, v1, v2
div-int/lit16 v1, v1, 0x3e8
.line 198
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
const-string v4, "LocalPlayerAudioPlayThread"
const-string v5, "AACTEST, entering audioplaythread loop"
.line 200
invoke-static {v4, v5}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
const/4 v5, 0x0
const/4 v6, 0x0
.line 202
:cond_2a
:goto_2a
iget-boolean v7, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlaying:Z
const/4 v8, 0x0
if-eqz v7, :cond_179
.line 206
:try_start_2f
iget-object v7, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v7}, Landroid/media/AudioTrack;->getPlaybackHeadPosition()I
move-result v7
.line 207
iget v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->audioDataWritePos:I
sub-int/2addr v9, v7
.line 208
sget v10, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
const/4 v11, 0x2
div-int/2addr v10, v11
if-ge v9, v10, :cond_63
.line 209
new-instance v10, Ljava/lang/StringBuilder;
const-string v12, "[audio-player] before write,pos="
invoke-direct {v10, v12}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v10, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v12, ",sysclock="
invoke-virtual {v10, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 210
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v12
invoke-virtual {v10, v12, v13}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v12, ",leftbytes="
invoke-virtual {v10, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
.line 209
invoke-static {v4, v10}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
:cond_63
if-gez v9, :cond_68
.line 218
iput v7, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->audioDataWritePos:I
const/4 v9, 0x0
.line 228
:cond_68
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v12
sub-long/2addr v12, v2
long-to-int v7, v12
const/4 v10, 0x1
if-lt v9, v1, :cond_89
.line 229
iget v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->fullSleepCnt:I
const/16 v12, 0x8
if-lt v9, v12, :cond_79
if-eqz v6, :cond_89
:cond_79
const/16 v9, 0x28
if-lt v7, v9, :cond_7e
goto :goto_89
:cond_7e
const-wide/16 v7, 0x5
.line 322
invoke-static {v7, v8}, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->sleep(J)V
.line 323
iget v7, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->fullSleepCnt:I
add-int/2addr v7, v10
iput v7, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->fullSleepCnt:I
goto :goto_2a
.line 230
:cond_89
:goto_89
iput v5, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->fullSleepCnt:I
.line 231
sget v7, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
.line 232
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
new-array v9, v11, [I
.line 234
iget-object v11, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v11}, Landroid/media/AudioTrack;->getSampleRate()I
move-result v11
aput v11, v9, v5
iget-object v11, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v11}, Landroid/media/AudioTrack;->getChannelCount()I
move-result v11
aput v11, v9, v10
.line 235
iget-object v11, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->outChunk:[B
invoke-direct {p0, v9, v11, v7}, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->readNativeDataWithInfo([I[BI)I
.line 244
iget-object v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mPlayFile:Ljava/io/FileInputStream;
:try_end_aa
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_aa} :catch_172
if-eqz v9, :cond_d4
.line 247
:try_start_ac
iget-object v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mPlayFile:Ljava/io/FileInputStream;
iget-object v11, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->outChunk:[B
invoke-virtual {v9, v11, v5, v7}, Ljava/io/FileInputStream;->read([BII)I
move-result v9
:try_end_b4
.catch Ljava/io/IOException; {:try_start_ac .. :try_end_b4} :catch_b8
.catch Ljava/lang/Exception; {:try_start_ac .. :try_end_b4} :catch_b5
goto :goto_b9
.line 252
:catch_b5
:try_start_b5
invoke-static {v4, v0}, Lcom/yysdk/mobile/localplayer/g;->h(Ljava/lang/String;Ljava/lang/String;)I
:try_end_b8
.catch Ljava/lang/Exception; {:try_start_b5 .. :try_end_b8} :catch_172
:catch_b8
const/4 v9, 0x0
:goto_b9
if-eq v9, v7, :cond_d4
.line 257
:try_start_bb
iget-object v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mPlayFile:Ljava/io/FileInputStream;
invoke-virtual {v9}, Ljava/io/FileInputStream;->close()V
.line 258
iput-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mPlayFile:Ljava/io/FileInputStream;
.line 259
new-instance v8, Ljava/io/FileInputStream;
iget-object v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->sPlayFileName:Ljava/lang/String;
invoke-direct {v8, v9}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
iput-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mPlayFile:Ljava/io/FileInputStream;
const-wide/16 v11, 0x2c
.line 260
invoke-virtual {v8, v11, v12}, Ljava/io/FileInputStream;->skip(J)J
:try_end_d0
.catch Ljava/io/IOException; {:try_start_bb .. :try_end_d0} :catch_d4
.catch Ljava/lang/Exception; {:try_start_bb .. :try_end_d0} :catch_d1
goto :goto_d4
.line 265
:catch_d1
:try_start_d1
invoke-static {v4, v0}, Lcom/yysdk/mobile/localplayer/g;->h(Ljava/lang/String;Ljava/lang/String;)I
.line 270
:catch_d4
:cond_d4
:goto_d4
iget-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->nowState:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
sget-object v9, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;->ENABLE_AUDIO:Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread$a;
if-ne v8, v9, :cond_108
.line 271
iget v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
if-gtz v8, :cond_102
const-string v8, "AudioTrack play"
.line 272
invoke-static {v4, v8}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
:try_end_e3
.catch Ljava/lang/Exception; {:try_start_d1 .. :try_end_e3} :catch_172
.line 274
:try_start_e3
iget-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
iget v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
new-array v9, v9, [B
iget v10, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->playerBufferSize:I
invoke-virtual {v8, v9, v5, v10}, Landroid/media/AudioTrack;->write([BII)I
move-result v8
.line 275
sget v9, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerPlaySample:I
div-int/2addr v8, v9
sget v9, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerChannelCount:I
div-int/2addr v8, v9
iput v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->audioDataWritePos:I
.line 276
iget-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v8}, Landroid/media/AudioTrack;->play()V
:try_end_fc
.catch Ljava/lang/Exception; {:try_start_e3 .. :try_end_fc} :catch_fd
goto :goto_102
:catch_fd
:try_start_fd
const-string v8, "play failed"
.line 278
invoke-static {v4, v8}, Lcom/yysdk/mobile/localplayer/g;->g(Ljava/lang/String;Ljava/lang/String;)I
:cond_102
:goto_102
const/16 v8, 0x32
.line 281
iput v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
const/4 v6, 0x0
goto :goto_138
.line 284
:cond_108
iget v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
if-nez v8, :cond_127
const-string v8, "AudioTrack pause"
.line 285
invoke-static {v4, v8}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
:try_end_111
.catch Ljava/lang/Exception; {:try_start_fd .. :try_end_111} :catch_172
.line 287
:try_start_111
iget-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v8}, Landroid/media/AudioTrack;->pause()V
.line 288
iget-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v8}, Landroid/media/AudioTrack;->flush()V
.line 289
iget-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v8}, Landroid/media/AudioTrack;->stop()V
:try_end_120
.catch Ljava/lang/Exception; {:try_start_111 .. :try_end_120} :catch_121
goto :goto_12b
:catch_121
:try_start_121
const-string v8, "pause/flush/stop failed"
.line 291
invoke-static {v4, v8}, Lcom/yysdk/mobile/localplayer/g;->g(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_12b
.line 294
:cond_127
iget v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
if-gez v8, :cond_12c
:goto_12b
const/4 v6, 0x1
.line 297
:cond_12c
iget v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
sub-int/2addr v8, v10
iput v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
.line 298
iget v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
if-gez v8, :cond_138
const/4 v8, -0x1
.line 299
iput v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->delayCnt:I
:cond_138
:goto_138
if-eqz v6, :cond_13c
move v8, v7
goto :goto_144
.line 306
:cond_13c
iget-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
iget-object v9, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->outChunk:[B
invoke-virtual {v8, v9, v5, v7}, Landroid/media/AudioTrack;->write([BII)I
move-result v8
:goto_144
if-eq v8, v7, :cond_163
.line 315
new-instance v7, Ljava/lang/StringBuilder;
const-string v9, "[audio-player] written error! written="
invoke-direct {v7, v9}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v8, ", len="
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v8, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->play20msBuffSize:I
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v4, v7}, Lcom/yysdk/mobile/localplayer/g;->f(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_2a
:cond_163
if-nez v6, :cond_2a
.line 319
iget v7, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->audioDataWritePos:I
sget v9, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerPlaySample:I
div-int/2addr v8, v9
sget v9, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->localPlayerChannelCount:I
div-int/2addr v8, v9
add-int/2addr v7, v8
iput v7, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->audioDataWritePos:I
:try_end_170
.catch Ljava/lang/Exception; {:try_start_121 .. :try_end_170} :catch_172
goto/16 :goto_2a
:catch_172
const-string v7, "audio play encounter exception"
.line 326
invoke-static {v4, v7}, Lcom/yysdk/mobile/localplayer/g;->g(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_2a
.line 331
:cond_179
:try_start_179
iget-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->flush()V
.line 332
iget-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->stop()V
.line 333
iget-object v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
invoke-virtual {v0}, Landroid/media/AudioTrack;->release()V
:try_end_188
.catch Ljava/lang/IllegalStateException; {:try_start_179 .. :try_end_188} :catch_18e
.catch Ljava/lang/Exception; {:try_start_179 .. :try_end_188} :catch_189
goto :goto_18e
:catch_189
const-string v0, "AudioPlay.flush/stop/release() encountered an unexpected exception"
.line 338
invoke-static {v4, v0}, Lcom/yysdk/mobile/localplayer/g;->h(Ljava/lang/String;Ljava/lang/String;)I
.line 341
:catch_18e
:goto_18e
iput-object v8, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlayer:Landroid/media/AudioTrack;
const-string v0, "stop mix player thread."
.line 342
invoke-static {v4, v0}, Lcom/yysdk/mobile/localplayer/g;->b(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public stopPlay()V
.registers 3
const-string v0, "LocalPlayerAudioPlayThread"
const-string v1, "stopPlay is called"
.line 346
invoke-static {v0, v1}, Lcom/yysdk/mobile/localplayer/g;->a(Ljava/lang/String;Ljava/lang/String;)I
const/4 v0, 0x0
.line 347
iput-boolean v0, p0, Lcom/yysdk/mobile/localplayer/LocalPlayerAudioPlayThread;->mixPlaying:Z
return-void
.end method