diff --git a/core/src/diff_src_erban/java/com/nnbc123/core/manager/agora/EngineEventHandler.java b/core/src/diff_src_erban/java/com/nnbc123/core/manager/agora/EngineEventHandler.java index 93500ac73..6d0e01a4c 100644 --- a/core/src/diff_src_erban/java/com/nnbc123/core/manager/agora/EngineEventHandler.java +++ b/core/src/diff_src_erban/java/com/nnbc123/core/manager/agora/EngineEventHandler.java @@ -11,6 +11,9 @@ import com.nnbc123.library.utils.SingleToastUtil; import io.agora.rtc2.ClientRoleOptions; import io.agora.rtc2.Constants; import io.agora.rtc2.IRtcEngineEventHandler; +import io.reactivex.Observable; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; /** * @author by 梁馨 on 2020/9/14. @@ -129,7 +132,12 @@ public class EngineEventHandler extends IRtcEngineEventHandler { super.onClientRoleChanged(oldRole, newRole, newRoleOptions); //角色切换 麦克风切换 if (newRole == Constants.CLIENT_ROLE_BROADCASTER) { - RtcEngineManager.get().setMute(RtcEngineManager.get().isMute); + com.chuhai.utils.log.LogUtil.INSTANCE.d(TAG, "onClientRoleChanged() setMute mute:"+RtcEngineManager.get().isMute,false); + Observable.create((ObservableOnSubscribe) emitter -> { + com.chuhai.utils.log.LogUtil.INSTANCE.d(TAG, "onClientRoleChanged() setMute-main mute:"+RtcEngineManager.get().isMute,false); + RtcEngineManager.get().setMute(RtcEngineManager.get().isMute); + emitter.onComplete(); + }).subscribeOn(AndroidSchedulers.mainThread()).subscribe(); } } @@ -151,6 +159,7 @@ public class EngineEventHandler extends IRtcEngineEventHandler { super.onRemoteAudioStats(remoteAudioStats); Logger.t(TAG).d("onRemoteAudioStats uid%d", remoteAudioStats.uid); long uid = (long) remoteAudioStats.uid; + com.chuhai.utils.log.LogUtil.INSTANCE.d(TAG, "onRemoteAudioStats() setRemoteMute mute:"+(!AvRoomDataManager.get().checkIsOnMicByAccount(uid + "")),false); // 如果麦上没有这个人,不接收这个人的声音 RtcEngineManager.get().setRemoteMute(uid, !AvRoomDataManager.get().checkIsOnMicByAccount(uid + ""));