SilentPlayer$PlayThread.smali
.class Lcn/rongcloud/rtc/earmonitor/SilentPlayer$PlayThread;
.super Ljava/lang/Thread;
.source "SilentPlayer.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcn/rongcloud/rtc/earmonitor/SilentPlayer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "PlayThread"
.end annotation
# instance fields
.field private volatile keepAlive:Z
# direct methods
.method private constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lcn/rongcloud/rtc/earmonitor/SilentPlayer$PlayThread;->keepAlive:Z
return-void
.end method
.method synthetic constructor <init>(Lcn/rongcloud/rtc/earmonitor/SilentPlayer$1;)V
.registers 2
.line 3
invoke-direct {p0}, Lcn/rongcloud/rtc/earmonitor/SilentPlayer$PlayThread;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 5
const/16 v0, 0x3c0
.line 1
new-array v0, v0, [B
const/4 v1, 0x2
const v2, 0xbb80
const/4 v3, 0x3
.line 2
invoke-static {v2, v1, v1, v3}, Lcn/rongcloud/rtc/utils/AudioUtil;->createAudioTrack(IIII)Landroid/media/AudioTrack;
move-result-object v1
if-nez v1, :cond_17
const-string v0, "SilentPlayer"
const-string v1, "SilentPlayer: failed to create audio track."
.line 3
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 4
:cond_17
invoke-virtual {v1}, Landroid/media/AudioTrack;->play()V
.line 5
:goto_1a
iget-boolean v2, p0, Lcn/rongcloud/rtc/earmonitor/SilentPlayer$PlayThread;->keepAlive:Z
if-eqz v2, :cond_2a
invoke-virtual {p0}, Ljava/lang/Thread;->isInterrupted()Z
move-result v2
if-nez v2, :cond_2a
const/4 v2, 0x0
.line 6
array-length v3, v0
invoke-virtual {v1, v0, v2, v3}, Landroid/media/AudioTrack;->write([BII)I
goto :goto_1a
.line 7
:cond_2a
invoke-virtual {v1}, Landroid/media/AudioTrack;->pause()V
.line 8
invoke-virtual {v1}, Landroid/media/AudioTrack;->release()V
return-void
.end method
.method stopThread()V
.registers 2
const/4 v0, 0x0
.line 1
iput-boolean v0, p0, Lcn/rongcloud/rtc/earmonitor/SilentPlayer$PlayThread;->keepAlive:Z
return-void
.end method