AudioPlayer.smali 
.class Lio/dcloud/feature/audio/AudioPlayer;
.super Lio/dcloud/feature/audio/AbsAudio;
# interfaces
.implements Lio/dcloud/common/DHInterface/ISysEventListener;
.implements Lio/dcloud/common/DHInterface/IEventCallback;
# instance fields
.field private _app:Lio/dcloud/common/DHInterface/IApp;
.field private autoplay:Z
.field private bufferPercent:I
.field private events:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field
.field private isCanMix:Z
.field private isCanplay:Z
.field private isPlay:Z
.field private isPrepared:Z
.field private isStoped:Z
.field private mAudioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;
.field private mAudioMgr:Landroid/media/AudioManager;
.field mFunId:Ljava/lang/String;
.field private mMediaPlayer:Landroid/media/MediaPlayer;
.field private mSrcPath:Ljava/lang/String;
.field private mWebview:Lio/dcloud/common/DHInterface/IWebview;
.field private needPause:Z
.field private params:Lorg/json/JSONObject;
.field private startTime:I
.field private volume:F
# direct methods
.method private constructor <init>(Lorg/json/JSONObject;Lio/dcloud/common/DHInterface/IWebview;)V
    .registers 5
    .line 1
    invoke-direct {p0}, Lio/dcloud/feature/audio/AbsAudio;-><init>()V
    const/4 v0, 0x0
    .line 2
    iput v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->bufferPercent:I
    const/high16 v1, -0x80000000
    .line 3
    iput v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->startTime:I
    const-string v1, ""
    .line 4
    iput-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mSrcPath:Ljava/lang/String;
    const/high16 v1, 0x3f800000    # 1.0f
    .line 5
    iput v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->volume:F
    .line 6
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->autoplay:Z
    .line 8
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanMix:Z
    .line 9
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->needPause:Z
    .line 35
    new-instance v1, Lio/dcloud/feature/audio/AudioPlayer$1;
    invoke-direct {v1, p0}, Lio/dcloud/feature/audio/AudioPlayer$1;-><init>(Lio/dcloud/feature/audio/AudioPlayer;)V
    iput-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;
    .line 300
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isPrepared:Z
    .line 301
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isPlay:Z
    .line 302
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanplay:Z
    .line 353
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isStoped:Z
    .line 354
    new-instance v0, Landroid/media/MediaPlayer;
    invoke-direct {v0}, Landroid/media/MediaPlayer;-><init>()V
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    .line 355
    new-instance v0, Ljava/util/HashMap;
    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->events:Ljava/util/Map;
    .line 356
    iput-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    .line 357
    iput-object p2, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    .line 358
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->addListener()V
    .line 359
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p1
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object p1
    iput-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->_app:Lio/dcloud/common/DHInterface/IApp;
    .line 361
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p1
    invoke-interface {p1, p0}, Lio/dcloud/common/DHInterface/IFrameViewStatus;->addFrameViewListener(Lio/dcloud/common/DHInterface/IEventCallback;)V
    .line 363
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->_app:Lio/dcloud/common/DHInterface/IApp;
    sget-object p2, Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;->onStop:Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;
    invoke-interface {p1, p0, p2}, Lio/dcloud/common/DHInterface/IApp;->registerSysEventListener(Lio/dcloud/common/DHInterface/ISysEventListener;Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;)V
    .line 364
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {p0, p1}, Lio/dcloud/feature/audio/AudioPlayer;->setStyle(Lorg/json/JSONObject;)V
    return-void
.end method
.method static synthetic access$000(Lio/dcloud/feature/audio/AudioPlayer;)Z
    .registers 1
    .line 1
    iget-boolean p0, p0, Lio/dcloud/feature/audio/AudioPlayer;->needPause:Z
    return p0
.end method
.method static synthetic access$102(Lio/dcloud/feature/audio/AudioPlayer;I)I
    .registers 2
    .line 1
    iput p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->bufferPercent:I
    return p1
.end method
.method static synthetic access$200(Lio/dcloud/feature/audio/AudioPlayer;)Lio/dcloud/common/DHInterface/IWebview;
    .registers 1
    .line 1
    iget-object p0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    return-object p0
.end method
.method private addListener()V
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    new-instance v1, Lio/dcloud/feature/audio/AudioPlayer$2;
    invoke-direct {v1, p0}, Lio/dcloud/feature/audio/AudioPlayer$2;-><init>(Lio/dcloud/feature/audio/AudioPlayer;)V
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V
    .line 7
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    new-instance v1, Lio/dcloud/feature/audio/AudioPlayer$3;
    invoke-direct {v1, p0}, Lio/dcloud/feature/audio/AudioPlayer$3;-><init>(Lio/dcloud/feature/audio/AudioPlayer;)V
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setOnSeekCompleteListener(Landroid/media/MediaPlayer$OnSeekCompleteListener;)V
    .line 15
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    new-instance v1, Lio/dcloud/feature/audio/AudioPlayer$4;
    invoke-direct {v1, p0}, Lio/dcloud/feature/audio/AudioPlayer$4;-><init>(Lio/dcloud/feature/audio/AudioPlayer;)V
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setOnBufferingUpdateListener(Landroid/media/MediaPlayer$OnBufferingUpdateListener;)V
    .line 21
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    new-instance v1, Lio/dcloud/feature/audio/AudioPlayer$5;
    invoke-direct {v1, p0}, Lio/dcloud/feature/audio/AudioPlayer$5;-><init>(Lio/dcloud/feature/audio/AudioPlayer;)V
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setOnInfoListener(Landroid/media/MediaPlayer$OnInfoListener;)V
    .line 38
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    new-instance v1, Lio/dcloud/feature/audio/AudioPlayer$6;
    invoke-direct {v1, p0}, Lio/dcloud/feature/audio/AudioPlayer$6;-><init>(Lio/dcloud/feature/audio/AudioPlayer;)V
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V
    .line 78
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    new-instance v1, Lio/dcloud/feature/audio/AudioPlayer$7;
    invoke-direct {v1, p0}, Lio/dcloud/feature/audio/AudioPlayer$7;-><init>(Lio/dcloud/feature/audio/AudioPlayer;)V
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V
    return-void
.end method
.method static createAudioPlayer(Lorg/json/JSONObject;Lio/dcloud/common/DHInterface/IWebview;)Lio/dcloud/feature/audio/AudioPlayer;
    .registers 3
    .line 1
    new-instance v0, Lio/dcloud/feature/audio/AudioPlayer;
    invoke-direct {v0, p0, p1}, Lio/dcloud/feature/audio/AudioPlayer;-><init>(Lorg/json/JSONObject;Lio/dcloud/common/DHInterface/IWebview;)V
    return-object v0
.end method
.method private requestAudioFocus()V
    .registers 5
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioMgr:Landroid/media/AudioManager;
    if-nez v0, :cond_14
    .line 2
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IWebview;->getActivity()Landroid/app/Activity;
    move-result-object v0
    const-string v1, "audio"
    invoke-virtual {v0, v1}, Landroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/media/AudioManager;
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioMgr:Landroid/media/AudioManager;
    .line 4
    :cond_14
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioMgr:Landroid/media/AudioManager;
    if-eqz v0, :cond_1f
    .line 5
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;
    const/4 v2, 0x3
    const/4 v3, 0x1
    invoke-virtual {v0, v1, v2, v3}, Landroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I
    :cond_1f
    return-void
.end method
.method private setSpeed()V
    .registers 5
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    if-nez v0, :cond_5
    return-void
    :cond_5
    const-string v1, "playbackRate"
    .line 3
    invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    .line 5
    :try_start_b
    invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v0
    const/4 v1, 0x0
    cmpl-float v1, v0, v1
    if-lez v1, :cond_2a
    .line 6
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    if-eqz v1, :cond_2a
    sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
    const/16 v3, 0x17
    if-lt v2, v3, :cond_2a
    .line 7
    invoke-virtual {v1}, Landroid/media/MediaPlayer;->getPlaybackParams()Landroid/media/PlaybackParams;
    move-result-object v1
    .line 8
    invoke-virtual {v1, v0}, Landroid/media/PlaybackParams;->setSpeed(F)Landroid/media/PlaybackParams;
    .line 9
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setPlaybackParams(Landroid/media/PlaybackParams;)V
    :try_end_2a
    .catch Ljava/lang/Exception; {:try_start_b .. :try_end_2a} :catch_2a
    :catch_2a
    :cond_2a
    return-void
.end method
.method private setSrc(Ljava/lang/String;)V
    .registers 12
    const-string v0, "android_asset/"
    const-string v1, "/android_asset/"
    :try_start_4
    const-string v2, "content://"
    .line 1
    invoke-virtual {p1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
    move-result v2
    const/4 v3, 0x0
    if-eqz v2, :cond_1e
    .line 2
    invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
    move-result-object p1
    .line 3
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v1}, Lio/dcloud/common/DHInterface/IWebview;->getActivity()Landroid/app/Activity;
    move-result-object v1
    invoke-virtual {v0, v1, p1}, Landroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;)V
    goto/16 :goto_c4
    .line 6
    :cond_1e
    invoke-static {p1}, Lio/dcloud/common/util/PdrUtil;->isNetPath(Ljava/lang/String;)Z
    move-result v2
    if-nez v2, :cond_b1
    .line 7
    iget-object v2, p0, Lio/dcloud/feature/audio/AudioPlayer;->_app:Lio/dcloud/common/DHInterface/IApp;
    invoke-interface {v2, p1}, Lio/dcloud/common/DHInterface/IApp;->checkPrivateDirAndCopy2Temp(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    .line 8
    iget-object v2, p0, Lio/dcloud/feature/audio/AudioPlayer;->_app:Lio/dcloud/common/DHInterface/IApp;
    iget-object v4, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v4}, Lio/dcloud/common/DHInterface/IWebview;->obtainFullUrl()Ljava/lang/String;
    move-result-object v4
    invoke-interface {v2, v4, p1}, Lio/dcloud/common/DHInterface/IApp;->convert2AbsFullPath(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    .line 9
    invoke-static {}, Lio/dcloud/application/DCLoudApplicationImpl;->self()Lio/dcloud/application/DCLoudApplicationImpl;
    move-result-object v2
    invoke-virtual {v2}, Lio/dcloud/application/DCLoudApplicationImpl;->getContext()Landroid/content/Context;
    move-result-object v2
    .line 10
    invoke-static {v2}, Lio/dcloud/common/util/FileUtil;->needMediaStoreOpenFile(Landroid/content/Context;)Z
    move-result v4
    if-eqz v4, :cond_6a
    invoke-static {v2, p1}, Lio/dcloud/common/util/FileUtil;->checkPrivatePath(Landroid/content/Context;Ljava/lang/String;)Z
    move-result v4
    if-nez v4, :cond_6a
    .line 11
    new-instance v4, Ljava/io/File;
    invoke-direct {v4, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
    .line 12
    invoke-virtual {v4}, Ljava/io/File;->exists()Z
    move-result v5
    if-eqz v5, :cond_6a
    .line 13
    sget-object v5, Landroid/provider/MediaStore$Audio$Media;->EXTERNAL_CONTENT_URI:Landroid/net/Uri;
    invoke-static {v2, v4, v5}, Lio/dcloud/common/util/FileUtil;->getFileUri(Landroid/content/Context;Ljava/io/File;Landroid/net/Uri;)Landroid/net/Uri;
    move-result-object v2
    if-eqz v2, :cond_6a
    .line 15
    iget-object v4, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    iget-object v5, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v5}, Lio/dcloud/common/DHInterface/IWebview;->getActivity()Landroid/app/Activity;
    move-result-object v5
    invoke-virtual {v4, v5, v2}, Landroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;)V
    const/4 v2, 0x1
    goto :goto_6b
    :cond_6a
    move v2, v3
    :goto_6b
    if-nez v2, :cond_b8
    .line 21
    invoke-virtual {p1, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
    move-result v4
    :try_end_71
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_71} :catch_cc
    const-string v5, ""
    if-eqz v4, :cond_7a
    .line 22
    :try_start_75
    invoke-virtual {p1, v1, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    move-result-object p1
    goto :goto_84
    .line 23
    :cond_7a
    invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
    move-result v1
    if-eqz v1, :cond_84
    .line 24
    invoke-virtual {p1, v0, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    move-result-object p1
    .line 26
    :cond_84
    :goto_84
    invoke-static {p1}, Lio/dcloud/common/util/PdrUtil;->isDeviceRootDir(Ljava/lang/String;)Z
    move-result v0
    if-nez v0, :cond_b8
    .line 28
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IWebview;->getActivity()Landroid/app/Activity;
    move-result-object v0
    invoke-virtual {v0}, Landroid/app/Activity;->getAssets()Landroid/content/res/AssetManager;
    move-result-object v0
    invoke-virtual {v0, p1}, Landroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
    move-result-object p1
    .line 29
    iget-object v4, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {p1}, Landroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
    move-result-object v5
    invoke-virtual {p1}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
    move-result-wide v6
    invoke-virtual {p1}, Landroid/content/res/AssetFileDescriptor;->getLength()J
    move-result-wide v8
    invoke-virtual/range {v4 .. v9}, Landroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;JJ)V
    .line 30
    iput-boolean v3, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanplay:Z
    .line 31
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {p1}, Landroid/media/MediaPlayer;->prepareAsync()V
    return-void
    :cond_b1
    const-string v0, "utf-8"
    .line 36
    invoke-static {p1, v0}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    move v2, v3
    :cond_b8
    if-nez v2, :cond_c4
    .line 39
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->reset()V
    .line 40
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0, p1}, Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;)V
    .line 43
    :cond_c4
    :goto_c4
    iput-boolean v3, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanplay:Z
    .line 44
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {p1}, Landroid/media/MediaPlayer;->prepareAsync()V
    :try_end_cb
    .catch Ljava/lang/Exception; {:try_start_75 .. :try_end_cb} :catch_cc
    goto :goto_e5
    :catch_cc
    move-exception p1
    .line 46
    invoke-virtual {p0}, Lio/dcloud/feature/audio/AudioPlayer;->stop()V
    .line 47
    invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
    move-result-object v0
    const/4 v1, -0x5
    invoke-virtual {p0, v1, v0}, Lio/dcloud/feature/audio/AudioPlayer;->failCallback(ILjava/lang/String;)V
    .line 48
    invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
    move-result-object p1
    invoke-static {v1, p1}, Lio/dcloud/common/constant/DOMException;->toJSON(ILjava/lang/String;)Ljava/lang/String;
    move-result-object p1
    const-string v0, "error"
    invoke-virtual {p0, v0, p1}, Lio/dcloud/feature/audio/AudioPlayer;->execEvents(Ljava/lang/String;Ljava/lang/String;)V
    :goto_e5
    return-void
.end method
.method private startPlay()V
    .registers 3
    .line 1
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->requestAudioFocus()V
    const/4 v0, 0x1
    .line 2
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isPrepared:Z
    .line 3
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->start()V
    .line 4
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->setSpeed()V
    const-string v0, "play"
    const-string v1, ""
    .line 5
    invoke-virtual {p0, v0, v1}, Lio/dcloud/feature/audio/AudioPlayer;->execEvents(Ljava/lang/String;Ljava/lang/String;)V
    const/4 v0, 0x0
    .line 6
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isPlay:Z
    return-void
.end method
.method private successCallback()V
    .registers 4
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mFunId:Ljava/lang/String;
    const-string v2, ""
    invoke-static {v0, v1, v2}, Lio/dcloud/common/util/JSUtil;->excCallbackSuccess(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;)V
    return-void
.end method
# virtual methods
.method addEventListener(Ljava/lang/String;Ljava/lang/String;)V
    .registers 4
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->events:Ljava/util/Map;
    invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    return-void
.end method
.method destory()V
    .registers 4
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    if-eqz v0, :cond_32
    .line 2
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->stop()V
    .line 3
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->release()V
    .line 4
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object v0
    invoke-interface {v0, p0}, Lio/dcloud/common/DHInterface/IFrameViewStatus;->removeFrameViewListener(Lio/dcloud/common/DHInterface/IEventCallback;)V
    .line 5
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object v0
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object v0
    sget-object v1, Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;->onStop:Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;
    invoke-interface {v0, p0, v1}, Lio/dcloud/common/DHInterface/IApp;->unregisterSysEventListener(Lio/dcloud/common/DHInterface/ISysEventListener;Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;)V
    const/4 v0, 0x0
    .line 6
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    .line 7
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioMgr:Landroid/media/AudioManager;
    if-eqz v1, :cond_30
    .line 8
    iget-object v2, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;
    invoke-virtual {v1, v2}, Landroid/media/AudioManager;->abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I
    .line 9
    :cond_30
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mAudioMgr:Landroid/media/AudioManager;
    :cond_32
    return-void
.end method
.method execEvents(Ljava/lang/String;Ljava/lang/String;)V
    .registers 11
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->events:Ljava/util/Map;
    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
    move-result-object v0
    move-object v2, v0
    check-cast v2, Ljava/lang/String;
    .line 2
    invoke-static {v2}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
    move-result v0
    const/4 v7, 0x1
    if-nez v0, :cond_1f
    .line 3
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    sget v4, Lio/dcloud/common/util/JSUtil;->OK:I
    invoke-static {p2}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
    move-result v0
    xor-int/lit8 v5, v0, 0x1
    const/4 v6, 0x1
    move-object v3, p2
    invoke-static/range {v1 .. v6}, Lio/dcloud/common/util/JSUtil;->execCallback(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;IZZ)V
    .line 4
    :cond_1f
    invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
    const-string p2, "ended"
    invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p2
    if-nez p2, :cond_4f
    const-string p2, "canplay"
    invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p1
    if-nez p1, :cond_33
    goto :goto_55
    .line 6
    :cond_33
    iput-boolean v7, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanplay:Z
    .line 7
    iget-boolean p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->autoplay:Z
    if-eqz p1, :cond_3c
    .line 8
    invoke-virtual {p0}, Lio/dcloud/feature/audio/AudioPlayer;->play()V
    .line 9
    :cond_3c
    iget-boolean p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->isPlay:Z
    if-eqz p1, :cond_43
    .line 10
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->startPlay()V
    .line 12
    :cond_43
    iget p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->startTime:I
    const/high16 p2, -0x80000000
    if-eq p1, p2, :cond_55
    .line 13
    iget-object p2, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {p2, p1}, Landroid/media/MediaPlayer;->seekTo(I)V
    goto :goto_55
    .line 16
    :cond_4f
    invoke-virtual {p0}, Lio/dcloud/feature/audio/AudioPlayer;->pause()V
    .line 17
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->successCallback()V
    :cond_55
    :goto_55
    return-void
.end method
.method failCallback(ILjava/lang/String;)V
    .registers 5
    .line 1
    invoke-static {p1, p2}, Lio/dcloud/common/constant/DOMException;->toJSON(ILjava/lang/String;)Ljava/lang/String;
    move-result-object p1
    .line 2
    iget-object p2, p0, Lio/dcloud/feature/audio/AudioPlayer;->mWebview:Lio/dcloud/common/DHInterface/IWebview;
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mFunId:Ljava/lang/String;
    const/4 v1, 0x1
    invoke-static {p2, v0, p1, v1}, Lio/dcloud/common/util/JSUtil;->excCallbackError(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;Z)V
    return-void
.end method
.method getBuffer()Ljava/lang/String;
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    if-eqz v0, :cond_e
    .line 2
    iget v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->bufferPercent:I
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->getDuration()I
    move-result v0
    mul-int/2addr v1, v0
    div-int/lit8 v1, v1, 0x64
    goto :goto_f
    :cond_e
    const/4 v1, -0x1
    :goto_f
    const/16 v0, 0x3e8
    .line 4
    invoke-static {v1, v0}, Lio/dcloud/common/util/PdrUtil;->int2DecimalStr(II)Ljava/lang/String;
    move-result-object v0
    const/4 v1, 0x0
    invoke-static {v0, v1}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;Z)Ljava/lang/String;
    move-result-object v0
    return-object v0
.end method
.method getDuration()Ljava/lang/String;
    .registers 4
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    const-string v1, "undefined"
    const/4 v2, 0x0
    if-eqz v0, :cond_1d
    .line 2
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->getDuration()I
    move-result v0
    if-gez v0, :cond_12
    .line 4
    invoke-static {v1, v2}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;Z)Ljava/lang/String;
    move-result-object v0
    return-object v0
    :cond_12
    const/16 v1, 0x3e8
    .line 7
    invoke-static {v0, v1}, Lio/dcloud/common/util/PdrUtil;->int2DecimalStr(II)Ljava/lang/String;
    move-result-object v0
    invoke-static {v0, v2}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;Z)Ljava/lang/String;
    move-result-object v0
    return-object v0
    .line 9
    :cond_1d
    invoke-static {v1, v2}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;Z)Ljava/lang/String;
    move-result-object v0
    return-object v0
.end method
.method getPosition()Ljava/lang/String;
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->getCurrentPosition()I
    move-result v0
    const/16 v1, 0x3e8
    .line 3
    invoke-static {v0, v1}, Lio/dcloud/common/util/PdrUtil;->int2DecimalStr(II)Ljava/lang/String;
    move-result-object v0
    const/4 v1, 0x0
    invoke-static {v0, v1}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;Z)Ljava/lang/String;
    move-result-object v0
    return-object v0
.end method
.method getStyles(Ljava/lang/String;)Ljava/lang/String;
    .registers 8
    .line 1
    invoke-static {p1}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
    move-result v0
    if-eqz v0, :cond_d
    .line 2
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-static {p1}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Lorg/json/JSONObject;)Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 5
    :cond_d
    invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
    invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
    const/4 v0, -0x1
    invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
    move-result v1
    const-string v2, "autoplay"
    const/4 v3, 0x1
    const-string v4, "startTime"
    const/4 v5, 0x0
    sparse-switch v1, :sswitch_data_e2
    goto :goto_5f
    :sswitch_22
    invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_29
    goto :goto_5f
    :cond_29
    const/4 v0, 0x5
    goto :goto_5f
    :sswitch_2b
    const-string v1, "playbackRate"
    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_34
    goto :goto_5f
    :cond_34
    const/4 v0, 0x4
    goto :goto_5f
    :sswitch_36
    const-string v1, "loop"
    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_3f
    goto :goto_5f
    :cond_3f
    const/4 v0, 0x3
    goto :goto_5f
    :sswitch_41
    const-string v1, "src"
    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_4a
    goto :goto_5f
    :cond_4a
    const/4 v0, 0x2
    goto :goto_5f
    :sswitch_4c
    const-string v1, "volume"
    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_55
    goto :goto_5f
    :cond_55
    move v0, v3
    goto :goto_5f
    :sswitch_57
    invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_5e
    goto :goto_5f
    :cond_5e
    move v0, v5
    :goto_5f
    const-string v1, "undefined"
    packed-switch v0, :pswitch_data_fc
    .line 30
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {v0, p1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v0
    if-eqz v0, :cond_77
    .line 31
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {v0, p1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    invoke-static {p1}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 33
    :cond_77
    invoke-static {v1, v5}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;Z)Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 34
    :pswitch_7c
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {p1, v2, v5}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
    move-result p1
    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
    move-result-object p1
    goto :goto_d1
    .line 49
    :pswitch_87
    sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
    const/16 v0, 0x17
    if-lt p1, v0, :cond_9c
    .line 50
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {p1}, Landroid/media/MediaPlayer;->getPlaybackParams()Landroid/media/PlaybackParams;
    move-result-object p1
    .line 51
    invoke-virtual {p1}, Landroid/media/PlaybackParams;->getSpeed()F
    move-result p1
    invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
    move-result-object p1
    goto :goto_d1
    .line 53
    :cond_9c
    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object p1
    goto :goto_d1
    .line 54
    :pswitch_a1
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {p1}, Landroid/media/MediaPlayer;->isLooping()Z
    move-result p1
    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
    move-result-object p1
    goto :goto_d1
    .line 57
    :pswitch_ac
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mSrcPath:Ljava/lang/String;
    goto :goto_d1
    .line 58
    :pswitch_af
    iget p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->volume:F
    invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
    move-result-object p1
    goto :goto_d1
    .line 59
    :pswitch_b6
    iget p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->startTime:I
    if-gez p1, :cond_cb
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {p1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result p1
    if-eqz p1, :cond_c9
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {p1, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
    move-result p1
    goto :goto_cd
    :cond_c9
    move p1, v5
    goto :goto_cd
    :cond_cb
    div-int/lit16 p1, p1, 0x3e8
    :goto_cd
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object p1
    :goto_d1
    if-eqz p1, :cond_dc
    .line 86
    invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-static {p1}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 88
    :cond_dc
    invoke-static {v1, v5}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Ljava/lang/String;Z)Ljava/lang/String;
    move-result-object p1
    return-object p1
    nop
    :sswitch_data_e2
    .sparse-switch
        -0x7eea75b1 -> :sswitch_57
        -0x305518e6 -> :sswitch_4c
        0x1bde4 -> :sswitch_41
        0x32c6a4 -> :sswitch_36
        0x50ca119b -> :sswitch_2b
        0x55cdf963 -> :sswitch_22
    .end sparse-switch
    :pswitch_data_fc
    .packed-switch 0x0
        :pswitch_b6
        :pswitch_af
        :pswitch_ac
        :pswitch_a1
        :pswitch_87
        :pswitch_7c
    .end packed-switch
.end method
.method getVolume()Ljava/lang/String;
    .registers 2
    .line 1
    iget v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->volume:F
    invoke-static {v0}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(F)Ljava/lang/String;
    move-result-object v0
    return-object v0
.end method
.method public isCanMix()Z
    .registers 2
    .line 1
    iget-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanMix:Z
    return v0
.end method
.method isPause()Ljava/lang/String;
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    const/4 v1, 0x1
    if-eqz v0, :cond_a
    .line 2
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->isPlaying()Z
    move-result v0
    xor-int/2addr v1, v0
    .line 4
    :cond_a
    invoke-static {v1}, Lio/dcloud/common/util/JSUtil;->wrapJsVar(Z)Ljava/lang/String;
    move-result-object v0
    return-object v0
.end method
.method public onCallBack(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
    .registers 4
    const-string v0, "window_close"
    .line 1
    invoke-static {p1, v0}, Lio/dcloud/common/util/PdrUtil;->isEquals(Ljava/lang/String;Ljava/lang/String;)Z
    move-result v0
    if-nez v0, :cond_10
    const-string v0, "close"
    .line 2
    invoke-static {p1, v0}, Lio/dcloud/common/util/PdrUtil;->isEquals(Ljava/lang/String;Ljava/lang/String;)Z
    move-result p1
    if-eqz p1, :cond_17
    :cond_10
    instance-of p1, p2, Lio/dcloud/common/DHInterface/IWebview;
    if-eqz p1, :cond_17
    .line 4
    invoke-virtual {p0}, Lio/dcloud/feature/audio/AudioPlayer;->destory()V
    :cond_17
    const/4 p1, 0x0
    return-object p1
.end method
.method public onExecute(Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;Ljava/lang/Object;)Z
    .registers 3
    .line 1
    sget-object p2, Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;->onStop:Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;
    if-ne p1, p2, :cond_7
    .line 2
    invoke-virtual {p0}, Lio/dcloud/feature/audio/AudioPlayer;->destory()V
    :cond_7
    const/4 p1, 0x0
    return p1
.end method
.method pause()V
    .registers 3
    const/4 v0, 0x0
    .line 1
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->autoplay:Z
    .line 3
    :try_start_3
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->pause()V
    :try_end_8
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_8} :catch_8
    :catch_8
    const-string v0, "pause"
    const-string v1, ""
    .line 5
    invoke-virtual {p0, v0, v1}, Lio/dcloud/feature/audio/AudioPlayer;->execEvents(Ljava/lang/String;Ljava/lang/String;)V
    return-void
.end method
.method play()V
    .registers 4
    .line 1
    iget-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isStoped:Z
    const/4 v1, 0x0
    if-eqz v0, :cond_20
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->isPlaying()Z
    move-result v0
    if-nez v0, :cond_20
    .line 3
    :try_start_d
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->prepareAsync()V
    .line 4
    iput-boolean v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->isStoped:Z
    :try_end_14
    .catch Ljava/lang/Exception; {:try_start_d .. :try_end_14} :catch_15
    goto :goto_20
    :catch_15
    const-string v0, ""
    .line 6
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mSrcPath:Ljava/lang/String;
    .line 7
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {p0, v0}, Lio/dcloud/feature/audio/AudioPlayer;->setStyle(Lorg/json/JSONObject;)V
    .line 8
    iput-boolean v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->isStoped:Z
    .line 12
    :cond_20
    :goto_20
    :try_start_20
    iput-boolean v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->isPrepared:Z
    const/4 v0, 0x1
    .line 13
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isPlay:Z
    .line 14
    iget-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanplay:Z
    if-eqz v0, :cond_49
    .line 15
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->startPlay()V
    :try_end_2c
    .catch Ljava/lang/IllegalStateException; {:try_start_20 .. :try_end_2c} :catch_2d
    .catch Ljava/lang/NumberFormatException; {:try_start_20 .. :try_end_2c} :catch_49
    goto :goto_49
    :catch_2d
    move-exception v0
    .line 18
    invoke-virtual {v0}, Ljava/lang/IllegalStateException;->printStackTrace()V
    .line 19
    invoke-virtual {p0}, Lio/dcloud/feature/audio/AudioPlayer;->destory()V
    .line 20
    invoke-virtual {v0}, Ljava/lang/IllegalStateException;->toString()Ljava/lang/String;
    move-result-object v1
    const/4 v2, -0x1
    invoke-virtual {p0, v2, v1}, Lio/dcloud/feature/audio/AudioPlayer;->failCallback(ILjava/lang/String;)V
    .line 21
    invoke-virtual {v0}, Ljava/lang/IllegalStateException;->getMessage()Ljava/lang/String;
    move-result-object v0
    invoke-static {v2, v0}, Lio/dcloud/common/constant/DOMException;->toJSON(ILjava/lang/String;)Ljava/lang/String;
    move-result-object v0
    const-string v1, "error"
    invoke-virtual {p0, v1, v0}, Lio/dcloud/feature/audio/AudioPlayer;->execEvents(Ljava/lang/String;Ljava/lang/String;)V
    :catch_49
    :cond_49
    :goto_49
    return-void
.end method
.method public playbackRate(F)V
    .registers 5
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    if-nez v0, :cond_b
    .line 2
    new-instance v0, Lorg/json/JSONObject;
    invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    .line 4
    :cond_b
    :try_start_b
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    float-to-double v1, p1
    const-string p1, "playbackRate"
    invoke-virtual {v0, p1, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
    :try_end_13
    .catch Lorg/json/JSONException; {:try_start_b .. :try_end_13} :catch_13
    .line 6
    :catch_13
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    if-eqz p1, :cond_20
    invoke-virtual {p1}, Landroid/media/MediaPlayer;->isPlaying()Z
    move-result p1
    if-eqz p1, :cond_20
    .line 7
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->setSpeed()V
    :cond_20
    return-void
.end method
.method removeEventListener(Ljava/lang/String;)V
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->events:Ljava/util/Map;
    invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
    return-void
.end method
.method resume()V
    .registers 2
    .line 1
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->requestAudioFocus()V
    .line 2
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->start()V
    .line 3
    invoke-direct {p0}, Lio/dcloud/feature/audio/AudioPlayer;->setSpeed()V
    return-void
.end method
.method seekTo(I)V
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0, p1}, Landroid/media/MediaPlayer;->seekTo(I)V
    const-string p1, "seeking"
    const-string v0, ""
    .line 2
    invoke-virtual {p0, p1, v0}, Lio/dcloud/feature/audio/AudioPlayer;->execEvents(Ljava/lang/String;Ljava/lang/String;)V
    return-void
.end method
.method public setCanMix(Z)V
    .registers 2
    .line 1
    iput-boolean p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->needPause:Z
    return-void
.end method
.method public setParams(Lorg/json/JSONObject;)V
    .registers 2
    .line 1
    iput-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    return-void
.end method
.method setSessionCategory(Ljava/lang/String;)V
    .registers 3
    .line 1
    invoke-static {p1}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
    move-result v0
    if-nez v0, :cond_18
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    if-eqz v0, :cond_18
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->isPlaying()Z
    move-result v0
    if-nez v0, :cond_18
    const-string v0, "ambient"
    .line 2
    invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p1
    iput-boolean p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanMix:Z
    :cond_18
    return-void
.end method
.method setStyle(Lorg/json/JSONObject;)V
    .registers 6
    const-string v0, "startTime"
    const-string v1, "src"
    .line 1
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v2
    .line 2
    invoke-static {v2}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
    move-result v3
    if-nez v3, :cond_2f
    .line 3
    iget-object v3, p0, Lio/dcloud/feature/audio/AudioPlayer;->mSrcPath:Ljava/lang/String;
    invoke-static {v3}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
    move-result v3
    if-eqz v3, :cond_1f
    .line 4
    iget-object v3, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v3}, Landroid/media/MediaPlayer;->reset()V
    .line 5
    invoke-direct {p0, v2}, Lio/dcloud/feature/audio/AudioPlayer;->setSrc(Ljava/lang/String;)V
    goto :goto_2f
    .line 6
    :cond_1f
    iget-object v3, p0, Lio/dcloud/feature/audio/AudioPlayer;->mSrcPath:Ljava/lang/String;
    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v3
    if-nez v3, :cond_2f
    .line 7
    iget-object v3, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v3}, Landroid/media/MediaPlayer;->reset()V
    .line 8
    invoke-direct {p0, v2}, Lio/dcloud/feature/audio/AudioPlayer;->setSrc(Ljava/lang/String;)V
    .line 10
    :cond_2f
    :goto_2f
    iget-object v2, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-static {v2, p1}, Lio/dcloud/common/util/JSONUtil;->combinJSONObject(Lorg/json/JSONObject;Lorg/json/JSONObject;)Lorg/json/JSONObject;
    .line 11
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    iput-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mSrcPath:Ljava/lang/String;
    .line 12
    iget-object p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    const-string v2, "loop"
    invoke-virtual {v1, v2}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;)Z
    move-result v1
    invoke-virtual {p1, v1}, Landroid/media/MediaPlayer;->setLooping(Z)V
    const/4 p1, 0x0
    .line 14
    :try_start_48
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    const-string v2, "volume"
    const-string v3, "1"
    invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    move-result-object v1
    .line 15
    invoke-static {v1}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v1
    iput v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->volume:F
    cmpg-float v2, v1, p1
    if-gez v2, :cond_5f
    .line 17
    iput p1, p0, Lio/dcloud/feature/audio/AudioPlayer;->volume:F
    goto :goto_67
    :cond_5f
    const/high16 v2, 0x3f800000    # 1.0f
    cmpl-float v1, v1, v2
    if-lez v1, :cond_67
    .line 19
    iput v2, p0, Lio/dcloud/feature/audio/AudioPlayer;->volume:F
    .line 20
    :cond_67
    :goto_67
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    iget v2, p0, Lio/dcloud/feature/audio/AudioPlayer;->volume:F
    invoke-virtual {v1, v2, v2}, Landroid/media/MediaPlayer;->setVolume(FF)V
    .line 21
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {v1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v1
    if-eqz v1, :cond_80
    .line 22
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    invoke-virtual {v1, v0}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
    move-result v0
    mul-int/lit16 v0, v0, 0x3e8
    iput v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->startTime:I
    .line 24
    :cond_80
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    const-string v1, "autoplay"
    const/4 v2, 0x0
    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
    move-result v0
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->autoplay:Z
    :try_end_8b
    .catch Ljava/lang/Exception; {:try_start_48 .. :try_end_8b} :catch_8b
    .line 27
    :catch_8b
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->params:Lorg/json/JSONObject;
    const-string v1, "playbackRate"
    invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    .line 29
    :try_start_93
    invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v0
    cmpl-float p1, v0, p1
    if-lez p1, :cond_9e
    .line 31
    invoke-virtual {p0, v0}, Lio/dcloud/feature/audio/AudioPlayer;->playbackRate(F)V
    :try_end_9e
    .catch Ljava/lang/Exception; {:try_start_93 .. :try_end_9e} :catch_9e
    :catch_9e
    :cond_9e
    return-void
.end method
.method stop()V
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->mMediaPlayer:Landroid/media/MediaPlayer;
    if-eqz v0, :cond_14
    .line 2
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->stop()V
    const/4 v0, 0x1
    .line 3
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isStoped:Z
    const/4 v0, 0x0
    .line 4
    iput-boolean v0, p0, Lio/dcloud/feature/audio/AudioPlayer;->isCanplay:Z
    const-string v0, "stop"
    const-string v1, ""
    .line 5
    invoke-virtual {p0, v0, v1}, Lio/dcloud/feature/audio/AudioPlayer;->execEvents(Ljava/lang/String;Ljava/lang/String;)V
    :cond_14
    return-void
.end method