diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt index d66680fb5..bccebc892 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt @@ -506,10 +506,7 @@ open class BaseRoomFragment?> : } else { val roomQueueInfo = AvRoomDataManager.get() .getRoomQueueMemberInfoByAccount(myUid.toString()) - if (roomQueueInfo?.mChatRoomMember?.isNoProhibitMic == true && roomQueueInfo.mRoomMicInfo?.isMicMute == false) { - bottomView.setMicBtnEnable(true) - bottomView.setMicBtnOpen(true) - } else if (roomQueueInfo?.mChatRoomMember != null + if (roomQueueInfo?.mChatRoomMember != null && myUid.toString() == roomQueueInfo.mChatRoomMember.account && roomQueueInfo.mRoomMicInfo?.isMicMute == true ) { diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java index 67870e860..1e2c3df4a 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java @@ -2103,6 +2103,9 @@ public final class IMNetEaseManager { PkModel.get().syncPkList(userInfo, chatRoomMember.getGroupType()); noticePKInfo(); + int oldMicPosition = AvRoomDataManager.get().getMicPosition(AuthModel.get().getCurrentUid()); + boolean oldIsOnMic = AvRoomDataManager.get().isOwnerOnMic(); + int size = mMicQueueMemberMap.size(); if (size > 0) { for (int j = 0; j < size; j++) { @@ -2146,9 +2149,16 @@ public final class IMNetEaseManager { //開麥 AudioEngineManager.get().setRole(Constants.CLIENT_ROLE_BROADCASTER); if (!roomQueueInfo.mChatRoomMember.isNoProhibitMic()) { - AudioEngineManager.get().setMute(roomQueueInfo.mRoomMicInfo.isMicMute() || AvRoomDataManager.get().mIsNeedOpenMic); - //默認閉麥去掉聲音采集 - AudioEngineManager.get().stopLocalAudio(); + /* + 修复相亲房自动闭麦bug + 原因:相亲房的某些麦位状态更新,走的是上麦通道,导致默认闭麦了 + 临时解决:若是相亲房且之前在麦或麦位没变化->不做闭麦操作 + */ + if (!AvRoomDataManager.get().isDatingMode() || (AvRoomDataManager.get().isDatingMode() && (!oldIsOnMic || oldMicPosition != micPosition))) { + AudioEngineManager.get().setMute(roomQueueInfo.mRoomMicInfo.isMicMute() || AvRoomDataManager.get().mIsNeedOpenMic); + // 默認閉麥去掉聲音采集upMicroQueue + AudioEngineManager.get().stopLocalAudio(); + } } } noticeUpMic(Integer.parseInt(key), chatRoomMember.getAccount());