AudioDeviceManager.smali
.class public Lcn/rongcloud/rtc/module/AudioDeviceManager;
.super Ljava/lang/Object;
.source "AudioDeviceManager.java"
# static fields
.field private static final AGC_CONFIG_MAP:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static final AUDIO_AGC_TX_AGC_DIGITAL_COMPRESSION_GAIN:Ljava/lang/String; = "txAgcDigitaCompressionGain"
.field private static final AUDIO_AGC_TX_AGC_LIMITER:Ljava/lang/String; = "txAgcLimiter"
.field private static final AUDIO_AGC_TX_AGC_TARGET_DBOV:Ljava/lang/String; = "txAgcTargetDbov"
.field private static final AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT:Ljava/lang/String; = "googAutoGainControl"
.field private static final AUDIO_EXPERIMENTAL_AGC:Ljava/lang/String; = "googAutoGainControl2"
.field private static final AUDIO_EXPERIMENTAL_NS:Ljava/lang/String; = "googNoiseSuppression2"
.field private static final AUDIO_GOOGDAE_ECHOCANCELLATION_CONSTRAINT:Ljava/lang/String; = "googDAEchoCancellation"
.field private static final AUDIO_GOOGECHO_CANCELLATION2_CONSTRAINT:Ljava/lang/String; = "googEchoCancellation2"
.field private static final AUDIO_GOOGECHO_CANCELLATION_CONSTRAINT:Ljava/lang/String; = "googEchoCancellation"
.field private static final AUDIO_HIGH_PASS_FILTER_CONSTRAINT:Ljava/lang/String; = "googHighpassFilter"
.field private static final AUDIO_JITTER_BUFFER_ENABLE_RTX_HANDLING:Ljava/lang/String; = "jitterBufferEnableRtxHandling"
.field private static final AUDIO_JITTER_BUFFER_FAST_ACCELERATE:Ljava/lang/String; = "jitterBufferFastAccelerate"
.field private static final AUDIO_JITTER_BUFFER_MAX_PACKETS:Ljava/lang/String; = "jitterBufferMaxPackets"
.field private static final AUDIO_JITTER_BUFFER_MIN_DELAY_MS:Ljava/lang/String; = "jitterBufferMinDelayMs"
.field private static final AUDIO_NOISE_SUPPRESSION_CONSTRAINT:Ljava/lang/String; = "googNoiseSuppression"
.field private static final AUDIO_NOISE_SUPPRESSION_CONSTRAINT_LEVEL:Ljava/lang/String; = "googNoiseSuppressionLevel"
.field private static final AUDIO_PRE_AMPLIFIER:Ljava/lang/String; = "preAmplifier"
.field private static final AUDIO_PRE_AMPLIFIER_LEVEL:Ljava/lang/String; = "fixedGainFactor"
.field private static final AUDIO_RESIDUAL_ECHO_DETECTOR:Ljava/lang/String; = "residualEchoDetector"
.field private static final AUDIO_STEREO_SWAPPING:Ljava/lang/String; = "googAudioMirroring"
.field private static final AUDIO_TYPING_DETECTION:Ljava/lang/String; = "googTypingNoiseDetection"
.field private static final DEFAULT_RECORDING_VOLUME:I = 0x64
.field private static final TAG:Ljava/lang/String; = "AudioDeviceManager"
# instance fields
.field private RCRTCAudioFrame:Lcn/rongcloud/rtc/base/RCRTCAudioFrame;
.field private final audioBufferListenerLock:Ljava/lang/Object;
.field private audioBufferListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcn/rongcloud/rtc/core/audio/OnAudioBufferAvailableListener;",
">;"
}
.end annotation
.end field
.field private audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
.field private audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
.field private audioDeviceModule:Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
.field private audioManager:Landroid/media/AudioManager;
.field private isAudioMute:Z
.field private localFrame:[B
.field private mAudioDataListener:Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;
.field private mRongAudioTrack:Lcn/rongcloud/rtc/core/RongAudioTrack;
.field private recordingVolume:I
.field private rongAudioRecord:Lcn/rongcloud/rtc/core/RongAudioRecord;
# direct methods
.method static constructor <clinit>()V
.registers 3
.line 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->AGC_CONFIG_MAP:Ljava/util/Map;
.line 2
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->AGC_CONFIG_MAP:Ljava/util/Map;
const/4 v1, 0x6
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "Nexus 5"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;)V
.registers 5
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x64
.line 2
iput v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->recordingVolume:I
const/4 v0, 0x0
.line 3
iput-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->RCRTCAudioFrame:Lcn/rongcloud/rtc/base/RCRTCAudioFrame;
.line 4
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListenerLock:Ljava/lang/Object;
.line 5
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListeners:Ljava/util/List;
.line 6
iput-object p3, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
.line 7
invoke-direct {p0, p1}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->getAudioManager(Landroid/content/Context;)Landroid/media/AudioManager;
move-result-object p3
iput-object p3, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioManager:Landroid/media/AudioManager;
.line 8
invoke-direct {p0}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->initLocalSource()V
.line 9
invoke-direct {p0, p1, p2}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->initAudioDeviceModule(Landroid/content/Context;Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;)V
return-void
.end method
.method static synthetic access$000(Lcn/rongcloud/rtc/module/AudioDeviceManager;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->isAudioMute:Z
return p0
.end method
.method static synthetic access$100(Lcn/rongcloud/rtc/module/AudioDeviceManager;)I
.registers 1
.line 1
iget p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->recordingVolume:I
return p0
.end method
.method static synthetic access$200(Lcn/rongcloud/rtc/module/AudioDeviceManager;)Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mAudioDataListener:Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;
return-object p0
.end method
.method static synthetic access$300(Lcn/rongcloud/rtc/module/AudioDeviceManager;)[B
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->localFrame:[B
return-object p0
.end method
.method static synthetic access$302(Lcn/rongcloud/rtc/module/AudioDeviceManager;[B)[B
.registers 2
.line 1
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->localFrame:[B
return-object p1
.end method
.method static synthetic access$400(Lcn/rongcloud/rtc/module/AudioDeviceManager;)Lcn/rongcloud/rtc/base/RCRTCAudioFrame;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->RCRTCAudioFrame:Lcn/rongcloud/rtc/base/RCRTCAudioFrame;
return-object p0
.end method
.method static synthetic access$402(Lcn/rongcloud/rtc/module/AudioDeviceManager;Lcn/rongcloud/rtc/base/RCRTCAudioFrame;)Lcn/rongcloud/rtc/base/RCRTCAudioFrame;
.registers 2
.line 1
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->RCRTCAudioFrame:Lcn/rongcloud/rtc/base/RCRTCAudioFrame;
return-object p1
.end method
.method static synthetic access$500()Ljava/lang/String;
.registers 1
.line 1
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
return-object v0
.end method
.method static synthetic access$600(Lcn/rongcloud/rtc/module/AudioDeviceManager;)Ljava/lang/Object;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListenerLock:Ljava/lang/Object;
return-object p0
.end method
.method static synthetic access$700(Lcn/rongcloud/rtc/module/AudioDeviceManager;)Ljava/util/List;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListeners:Ljava/util/List;
return-object p0
.end method
.method static synthetic access$800(Lcn/rongcloud/rtc/module/AudioDeviceManager;)Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioDeviceModule:Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
return-object p0
.end method
.method private clearAudioBufferListeners()V
.registers 3
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListenerLock:Ljava/lang/Object;
monitor-enter v0
.line 2
:try_start_3
iget-object v1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListeners:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->clear()V
.line 3
monitor-exit v0
return-void
:catchall_a
move-exception v1
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v1
.end method
.method private getAudioManager(Landroid/content/Context;)Landroid/media/AudioManager;
.registers 3
if-nez p1, :cond_4
const/4 p1, 0x0
return-object p1
:cond_4
const-string v0, "audio"
.line 1
invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/media/AudioManager;
return-object p1
.end method
.method private initAudioDeviceModule(Landroid/content/Context;Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;)V
.registers 7
.line 1
new-instance v0, Lcn/rongcloud/rtc/module/AudioDeviceManager$1;
invoke-direct {v0, p0, p2}, Lcn/rongcloud/rtc/module/AudioDeviceManager$1;-><init>(Lcn/rongcloud/rtc/module/AudioDeviceManager;Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;)V
.line 2
new-instance v1, Lcn/rongcloud/rtc/core/RongAudioRecord;
invoke-direct {v1}, Lcn/rongcloud/rtc/core/RongAudioRecord;-><init>()V
.line 3
invoke-virtual {v1, v0}, Lcn/rongcloud/rtc/core/RongAudioRecord;->setOnAudioBufferAvailableListener(Lcn/rongcloud/rtc/core/audio/OnAudioBufferAvailableListener;)V
.line 4
iput-object v1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->rongAudioRecord:Lcn/rongcloud/rtc/core/RongAudioRecord;
.line 5
new-instance v2, Lcn/rongcloud/rtc/core/RongAudioTrack;
invoke-direct {v2}, Lcn/rongcloud/rtc/core/RongAudioTrack;-><init>()V
iput-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mRongAudioTrack:Lcn/rongcloud/rtc/core/RongAudioTrack;
.line 6
new-instance v2, Lcn/rongcloud/rtc/module/AudioDeviceManager$2;
invoke-direct {v2, p0}, Lcn/rongcloud/rtc/module/AudioDeviceManager$2;-><init>(Lcn/rongcloud/rtc/module/AudioDeviceManager;)V
.line 7
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->isLowLatencyRecordingEnabled()Z
move-result v3
if-eqz v3, :cond_4e
.line 8
invoke-static {p1}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule;->builder(Landroid/content/Context;)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 9
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->getAudioSource()I
move-result v3
invoke-virtual {p1, v3}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setAudioSource(I)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 10
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->getAudioSampleRate()I
move-result v3
invoke-virtual {p1, v3}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setSampleRate(I)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 11
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->isStereo()Z
move-result v3
invoke-virtual {p1, v3}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setUseStereoInput(Z)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 12
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->isStereo()Z
move-result p2
invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setUseStereoOutput(Z)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
iget-object p2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mRongAudioTrack:Lcn/rongcloud/rtc/core/RongAudioTrack;
.line 13
invoke-virtual {p1, v0, v2, v1, p2}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->createEchoAudioDeviceModule(Lcn/rongcloud/rtc/core/audio/OnAudioBufferAvailableListener;Lcn/rongcloud/rtc/core/audio/OnAudioDeviceErrorListener;Lcn/rongcloud/rtc/core/audio/CustomAudioRecord$AudioRecordProxy;Lcn/rongcloud/rtc/core/audio/CustomAudioTrack$AudioTrackProxy;)Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
move-result-object p1
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioDeviceModule:Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
goto :goto_7a
.line 14
:cond_4e
invoke-static {p1}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule;->builder(Landroid/content/Context;)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 15
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->getAudioSource()I
move-result v0
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setAudioSource(I)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 16
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->getAudioSampleRate()I
move-result v0
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setSampleRate(I)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 17
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->isStereo()Z
move-result v0
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setUseStereoInput(Z)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
.line 18
invoke-virtual {p2}, Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;->isStereo()Z
move-result p2
invoke-virtual {p1, p2}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->setUseStereoOutput(Z)Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;
move-result-object p1
iget-object p2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mRongAudioTrack:Lcn/rongcloud/rtc/core/RongAudioTrack;
.line 19
invoke-virtual {p1, v1, p2}, Lcn/rongcloud/rtc/core/audio/CustomAudioDeviceModule$Builder;->createAudioDeviceModule(Lcn/rongcloud/rtc/core/audio/CustomAudioRecord$AudioRecordProxy;Lcn/rongcloud/rtc/core/audio/CustomAudioTrack$AudioTrackProxy;)Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
move-result-object p1
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioDeviceModule:Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
:goto_7a
return-void
.end method
.method private initLocalSource()V
.registers 3
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getAudioEFCTMode()Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;
move-result-object v0
invoke-direct {p0, v0}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->setAudioScenario(Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;)V
.line 2
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
const-string v1, "initLocalSource: "
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 3
invoke-virtual {p0}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->createMediaConstraints()V
return-void
.end method
.method private refreshAudioConstraints(Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;Lcn/rongcloud/rtc/base/RCRTCSyncCallBack;)Lcn/rongcloud/rtc/core/MediaConstraints;
.registers 4
.line 1
sget-object v0, Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;->MUSIC:Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;
if-ne p1, v0, :cond_11
.line 2
invoke-static {}, Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig$Builder;->create()Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig$Builder;
move-result-object p1
invoke-virtual {p1}, Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig$Builder;->buildMusicMode()Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig;
move-result-object p1
check-cast p1, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
goto :goto_1d
.line 3
:cond_11
invoke-static {}, Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig$Builder;->create()Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig$Builder;
move-result-object p1
invoke-virtual {p1}, Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig$Builder;->buildDefaultMode()Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig;
move-result-object p1
check-cast p1, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
:goto_1d
if-eqz p2, :cond_22
.line 4
invoke-interface {p2}, Lcn/rongcloud/rtc/base/RCRTCSyncCallBack;->syncActions()V
.line 5
:cond_22
sget-object p1, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
const-string p2, "refreshAudioConstraints: jch"
invoke-static {p1, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6
invoke-virtual {p0}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->createMediaConstraints()V
.line 7
iget-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
return-object p1
.end method
.method private setAudioScenario(Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;)V
.registers 3
.line 1
sget-object v0, Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;->MUSIC:Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;
if-ne p1, v0, :cond_a
.line 2
sget-object p1, Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils$AudioPlayMode;->MUSIC:Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils$AudioPlayMode;
invoke-static {p1}, Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils;->setPlayMode(Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils$AudioPlayMode;)V
goto :goto_f
.line 3
:cond_a
sget-object p1, Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils$AudioPlayMode;->SPEEK:Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils$AudioPlayMode;
invoke-static {p1}, Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils;->setPlayMode(Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils$AudioPlayMode;)V
:goto_f
return-void
.end method
.method private switchAudioSource(Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;Lcn/rongcloud/rtc/base/RCRTCSyncCallBack;Lcn/rongcloud/rtc/core/AudioTrack;)V
.registers 6
if-eqz p3, :cond_19
.line 1
invoke-virtual {p3}, Lcn/rongcloud/rtc/core/AudioTrack;->getAudioSource()Lcn/rongcloud/rtc/core/AudioSource;
move-result-object v0
if-eqz v0, :cond_19
const/4 v1, 0x0
.line 2
invoke-virtual {p3, v1}, Lcn/rongcloud/rtc/core/MediaStreamTrack;->setEnabled(Z)Z
.line 3
invoke-direct {p0, p1, p2}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->refreshAudioConstraints(Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;Lcn/rongcloud/rtc/base/RCRTCSyncCallBack;)Lcn/rongcloud/rtc/core/MediaConstraints;
.line 4
iget-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/core/AudioSource;->updateOptions(Lcn/rongcloud/rtc/core/MediaConstraints;)V
const/4 p1, 0x1
.line 5
invoke-virtual {p3, p1}, Lcn/rongcloud/rtc/core/MediaStreamTrack;->setEnabled(Z)Z
goto :goto_20
.line 6
:cond_19
sget-object p1, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
const-string p2, "update audio constraints for config failed"
invoke-static {p1, p2}, Lcn/rongcloud/rtc/utils/FinLog;->w(Ljava/lang/String;Ljava/lang/String;)V
:goto_20
return-void
.end method
# virtual methods
.method public adjustRecordingVolume(I)V
.registers 2
.line 1
iput p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->recordingVolume:I
return-void
.end method
.method protected createMediaConstraints()V
.registers 8
.line 1
new-instance v0, Lcn/rongcloud/rtc/core/MediaConstraints;
invoke-direct {v0}, Lcn/rongcloud/rtc/core/MediaConstraints;-><init>()V
iput-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
.line 2
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "audioConfig: highPassFilter: isOn = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isHighPassFilters()Z
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V
.line 3
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isHighPassFilters()Z
move-result v2
invoke-static {v2}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v2
const-string v3, "googHighpassFilter"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 4
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "audioConfig: echo cancel: mode "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getEchoCancel()Lcn/rongcloud/rtc/base/RCRTCParamsType$AECMode;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " filter "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isEchoFilter()Z
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V
.line 5
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getEchoCancel()Lcn/rongcloud/rtc/base/RCRTCParamsType$AECMode;
move-result-object v2
sget-object v3, Lcn/rongcloud/rtc/base/RCRTCParamsType$AECMode;->AEC_MODE1:Lcn/rongcloud/rtc/base/RCRTCParamsType$AECMode;
const/4 v4, 0x0
const/4 v5, 0x1
if-ne v2, v3, :cond_7d
const/4 v2, 0x1
goto :goto_7e
:cond_7d
const/4 v2, 0x0
:goto_7e
invoke-static {v2}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v2
const-string v3, "googEchoCancellation"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 6
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getEchoCancel()Lcn/rongcloud/rtc/base/RCRTCParamsType$AECMode;
move-result-object v2
sget-object v3, Lcn/rongcloud/rtc/base/RCRTCParamsType$AECMode;->AEC_MODE2:Lcn/rongcloud/rtc/base/RCRTCParamsType$AECMode;
if-ne v2, v3, :cond_9b
const/4 v4, 0x1
:cond_9b
invoke-static {v4}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v2
const-string v3, "googDAEchoCancellation"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 7
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isEchoFilter()Z
move-result v2
invoke-static {v2}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v2
const-string v3, "googEchoCancellation2"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 8
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "audioConfig: noise suppression: mode "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getNoiseSuppression()Lcn/rongcloud/rtc/base/RCRTCParamsType$NSMode;
move-result-object v2
invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RCRTCParamsType$NSMode;->getValue()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " level "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getNoiseSuppressionLevel()Lcn/rongcloud/rtc/base/RCRTCParamsType$NSLevel;
move-result-object v2
invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RCRTCParamsType$NSLevel;->getValue()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V
.line 9
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
const-string v2, "false"
const-string v3, "googTypingNoiseDetection"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 10
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
const-string v3, "residualEchoDetector"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 11
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager$3;->$SwitchMap$cn$rongcloud$rtc$base$RCRTCParamsType$NSMode:[I
iget-object v1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v1}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getNoiseSuppression()Lcn/rongcloud/rtc/base/RCRTCParamsType$NSMode;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
const-string v1, "googNoiseSuppression2"
const-string v3, "googNoiseSuppression"
const-string v4, "true"
if-eq v0, v5, :cond_1b1
const/4 v5, 0x2
if-eq v0, v5, :cond_198
const/4 v5, 0x3
const-string v6, "googNoiseSuppressionLevel"
if-eq v0, v5, :cond_165
const/4 v5, 0x4
if-eq v0, v5, :cond_132
goto/16 :goto_1c9
.line 12
:cond_132
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v5, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v5, v3, v4}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 13
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v3, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v3, v1, v4}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 14
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v3, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getNoiseSuppressionLevel()Lcn/rongcloud/rtc/base/RCRTCParamsType$NSLevel;
move-result-object v3
invoke-virtual {v3}, Lcn/rongcloud/rtc/base/RCRTCParamsType$NSLevel;->getValue()I
move-result v3
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
invoke-direct {v1, v6, v3}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_1c9
.line 15
:cond_165
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v5, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v5, v3, v4}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 16
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v3, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v3, v1, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 17
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v3, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getNoiseSuppressionLevel()Lcn/rongcloud/rtc/base/RCRTCParamsType$NSLevel;
move-result-object v3
invoke-virtual {v3}, Lcn/rongcloud/rtc/base/RCRTCParamsType$NSLevel;->getValue()I
move-result v3
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
invoke-direct {v1, v6, v3}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_1c9
.line 18
:cond_198
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v5, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v5, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 19
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v3, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v3, v1, v4}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_1c9
.line 20
:cond_1b1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v5, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v5, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 21
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v3, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
invoke-direct {v3, v1, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 22
:goto_1c9
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "audioConfig: agc: isOn "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isAGCControl()Z
move-result v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V
.line 23
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v3, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v3}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isAGCControl()Z
move-result v3
invoke-static {v3}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v3
const-string v5, "googAutoGainControl"
invoke-direct {v1, v5, v3}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 24
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
const-string v3, "googAutoGainControl2"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 25
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "audioConfig: agc config: targetDBOV "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getAGCTargetdbov()F
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
const-string v2, " compressionLevel "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getAgcCompression()Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V
.line 26
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
const-string v2, "txAgcLimiter"
invoke-direct {v1, v2, v4}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 27
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getAGCTargetdbov()F
move-result v2
invoke-static {v2}, Ljava/lang/String;->valueOf(F)Ljava/lang/String;
move-result-object v2
const-string v3, "txAgcTargetDbov"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 28
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getAgcCompression()Ljava/lang/Integer;
move-result-object v2
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const-string v3, "txAgcDigitaCompressionGain"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 29
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "audioConfig: agc config: MIC PreAmplifier isOn "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isPreAmplifier()Z
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v2, " MIC level "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getPreAmplifierLevel()F
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V
.line 30
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->isPreAmplifier()Z
move-result v2
invoke-static {v2}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object v2
const-string v3, "preAmplifier"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 31
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
invoke-virtual {v2}, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;->getPreAmplifierLevel()F
move-result v2
invoke-static {v2}, Ljava/lang/String;->valueOf(F)Ljava/lang/String;
move-result-object v2
const-string v3, "fixedGainFactor"
invoke-direct {v1, v3, v2}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 32
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
const-string v2, "jitterBufferMinDelayMs"
invoke-direct {v1, v2, v4}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 33
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
iget-object v0, v0, Lcn/rongcloud/rtc/core/MediaConstraints;->mandatory:Ljava/util/List;
new-instance v1, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;
const-string v2, "jitterBufferEnableRtxHandling"
invoke-direct {v1, v2, v4}, Lcn/rongcloud/rtc/core/MediaConstraints$KeyValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 34
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "createMediaConstraints: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
invoke-virtual {v2}, Lcn/rongcloud/rtc/core/MediaConstraints;->toString()Ljava/lang/String;
move-result-object v2
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
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public getAudioConstraints()Lcn/rongcloud/rtc/core/MediaConstraints;
.registers 4
.line 1
sget-object v0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "getAudioConstraints: jch"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
invoke-virtual {v2}, Lcn/rongcloud/rtc/core/MediaConstraints;->toString()Ljava/lang/String;
move-result-object v2
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
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
return-object v0
.end method
.method public getAudioDataListener()Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mAudioDataListener:Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;
return-object v0
.end method
.method public getAudioDeviceModule()Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioDeviceModule:Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
return-object v0
.end method
.method public getRecodVolume()I
.registers 2
.line 1
iget v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->recordingVolume:I
return v0
.end method
.method public isAudioMute()Z
.registers 2
.line 1
iget-boolean v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->isAudioMute:Z
return v0
.end method
.method public isRecording()Z
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->rongAudioRecord:Lcn/rongcloud/rtc/core/RongAudioRecord;
if-eqz v0, :cond_9
.line 2
invoke-virtual {v0}, Lcn/rongcloud/rtc/core/RongAudioRecord;->isRecording()Z
move-result v0
return v0
:cond_9
const/4 v0, 0x0
return v0
.end method
.method public muteAllRemoteAudio(Z)V
.registers 3
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioDeviceModule:Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
if-eqz v0, :cond_7
.line 2
invoke-interface {v0, p1}, Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;->setSpeakerMute(Z)V
:cond_7
return-void
.end method
.method public muteAudio(Z)V
.registers 2
.line 1
iput-boolean p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->isAudioMute:Z
return-void
.end method
.method public registerAudioBufferListener(Lcn/rongcloud/rtc/core/audio/OnAudioBufferAvailableListener;)V
.registers 4
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListenerLock:Ljava/lang/Object;
monitor-enter v0
.line 2
:try_start_3
iget-object v1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListeners:Ljava/util/List;
invoke-interface {v1, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 3
monitor-exit v0
return-void
:catchall_a
move-exception p1
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw p1
.end method
.method public release()V
.registers 2
.line 1
invoke-direct {p0}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->clearAudioBufferListeners()V
const/4 v0, 0x0
.line 2
iput-boolean v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->isAudioMute:Z
const/4 v0, 0x0
.line 3
iput-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mAudioDataListener:Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;
.line 4
iput-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mRongAudioTrack:Lcn/rongcloud/rtc/core/RongAudioTrack;
.line 5
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioDeviceModule:Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;
if-eqz v0, :cond_12
.line 6
invoke-interface {v0}, Lcn/rongcloud/rtc/core/audio/AudioDeviceModule;->release()V
:cond_12
return-void
.end method
.method public setAudioDataListener(Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;)V
.registers 2
.line 1
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mAudioDataListener:Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;
return-void
.end method
.method public setRemoteAudioPCMBufferListener(Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;)V
.registers 3
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->mRongAudioTrack:Lcn/rongcloud/rtc/core/RongAudioTrack;
if-eqz v0, :cond_7
.line 2
invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/core/RongAudioTrack;->setAudioDataListener(Lcn/rongcloud/rtc/api/callback/IRCRTCAudioDataListener;)V
:cond_7
return-void
.end method
.method public switchSpeechMusicMode(Lcn/rongcloud/rtc/core/AudioTrack;Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;Lcn/rongcloud/rtc/base/RCRTCSyncCallBack;)V
.registers 5
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioManager:Landroid/media/AudioManager;
if-nez v0, :cond_c
.line 2
sget-object p1, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
const-string p2, "changeAudioScenario failed ! audioManager is null"
invoke-static {p1, p2}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 3
:cond_c
invoke-direct {p0, p2, p3, p1}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->switchAudioSource(Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;Lcn/rongcloud/rtc/base/RCRTCSyncCallBack;Lcn/rongcloud/rtc/core/AudioTrack;)V
.line 4
invoke-direct {p0, p2}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->setAudioScenario(Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;)V
.line 5
invoke-static {}, Lcn/rongcloud/rtc/core/rongRTC/DevicesUtils;->getAudioMode()I
move-result p1
const/4 p3, 0x0
const/4 v0, 0x3
if-ne p1, v0, :cond_1b
const/4 v0, 0x0
.line 6
:cond_1b
iget-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->rongAudioRecord:Lcn/rongcloud/rtc/core/RongAudioRecord;
if-eqz p1, :cond_2a
.line 7
sget-object p1, Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;->MUSIC:Lcn/rongcloud/rtc/base/RCRTCParamsType$AudioScenario;
if-ne p2, p1, :cond_24
goto :goto_25
:cond_24
const/4 p3, 0x7
.line 8
:goto_25
iget-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->rongAudioRecord:Lcn/rongcloud/rtc/core/RongAudioRecord;
invoke-virtual {p1, p3}, Lcn/rongcloud/rtc/core/RongAudioRecord;->switchAudioSource(I)V
.line 9
:cond_2a
iget-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioManager:Landroid/media/AudioManager;
invoke-virtual {p1, v0}, Landroid/media/AudioManager;->setMode(I)V
return-void
.end method
.method public unregisterAudioBufferListener(Lcn/rongcloud/rtc/core/audio/OnAudioBufferAvailableListener;)V
.registers 4
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListenerLock:Ljava/lang/Object;
monitor-enter v0
.line 2
:try_start_3
iget-object v1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioBufferListeners:Ljava/util/List;
invoke-interface {v1, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
.line 3
monitor-exit v0
return-void
:catchall_a
move-exception p1
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw p1
.end method
.method public updateAudioConfig(Lcn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig;Lcn/rongcloud/rtc/core/AudioTrack;)V
.registers 6
if-eqz p1, :cond_3b
if-eqz p2, :cond_3b
.line 1
invoke-virtual {p2}, Lcn/rongcloud/rtc/core/AudioTrack;->getAudioSource()Lcn/rongcloud/rtc/core/AudioSource;
move-result-object v0
if-eqz v0, :cond_3b
.line 2
check-cast p1, Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
iput-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConfig:Lcn/rongcloud/rtc/center/stream/RCAudioStreamConfigImpl;
const/4 p1, 0x0
.line 3
invoke-virtual {p2, p1}, Lcn/rongcloud/rtc/core/MediaStreamTrack;->setEnabled(Z)Z
.line 4
invoke-virtual {p0}, Lcn/rongcloud/rtc/module/AudioDeviceManager;->createMediaConstraints()V
.line 5
sget-object p1, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "updateAudioConfig: jch\uff1a"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
invoke-virtual {v2}, Lcn/rongcloud/rtc/core/MediaConstraints;->toString()Ljava/lang/String;
move-result-object v2
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
invoke-static {p1, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6
iget-object p1, p0, Lcn/rongcloud/rtc/module/AudioDeviceManager;->audioConstraints:Lcn/rongcloud/rtc/core/MediaConstraints;
invoke-virtual {v0, p1}, Lcn/rongcloud/rtc/core/AudioSource;->updateOptions(Lcn/rongcloud/rtc/core/MediaConstraints;)V
const/4 p1, 0x1
.line 7
invoke-virtual {p2, p1}, Lcn/rongcloud/rtc/core/MediaStreamTrack;->setEnabled(Z)Z
goto :goto_42
.line 8
:cond_3b
sget-object p1, Lcn/rongcloud/rtc/module/AudioDeviceManager;->TAG:Ljava/lang/String;
const-string p2, "not updateAudioConfig: jch"
invoke-static {p1, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:goto_42
return-void
.end method