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