diff --git a/app/src/main/java/com/nnbc123/app/avroom/fragment/BaseRoomFragment.kt b/app/src/main/java/com/nnbc123/app/avroom/fragment/BaseRoomFragment.kt index 52fb99767..08deaca38 100644 --- a/app/src/main/java/com/nnbc123/app/avroom/fragment/BaseRoomFragment.kt +++ b/app/src/main/java/com/nnbc123/app/avroom/fragment/BaseRoomFragment.kt @@ -677,14 +677,7 @@ open class BaseRoomFragment?> : } else { val roomQueueInfo = AvRoomDataManager.get() .getRoomQueueMemberInfoByAccount(myUid.toString()) - if (roomQueueInfo?.mChatRoomMember?.isNoProhibitMic == true && roomQueueInfo.mRoomMicInfo?.isMicMute == false) { - bottomView.setMicBtnEnable(true) - if (AudioEngineManager.get().isMute) { - bottomView.setMicBtnOpen(false) - } else { - 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/nnbc123/core/manager/IMNetEaseManager.java b/core/src/diff_src_erban/java/com/nnbc123/core/manager/IMNetEaseManager.java index 4705d35dd..5f114b6b6 100644 --- a/core/src/diff_src_erban/java/com/nnbc123/core/manager/IMNetEaseManager.java +++ b/core/src/diff_src_erban/java/com/nnbc123/core/manager/IMNetEaseManager.java @@ -2158,6 +2158,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++) { @@ -2201,7 +2204,14 @@ public final class IMNetEaseManager { //开麦 AudioEngineManager.get().setRole(Constants.CLIENT_ROLE_BROADCASTER); if (!roomQueueInfo.mChatRoomMember.isNoProhibitMic()) { - AudioEngineManager.get().setMute(roomQueueInfo.mRoomMicInfo.isMicMute() || AvRoomDataManager.get().mIsNeedOpenMic); + /* + 修复相亲房自动闭麦bug + 原因:相亲房的某些麦位状态更新,走的是上麦通道,导致默认闭麦了 + 临时解决:若是相亲房且之前在麦或麦位没变化->不做闭麦操作 + */ + if (!AvRoomDataManager.get().isDatingMode() || (AvRoomDataManager.get().isDatingMode() && (!oldIsOnMic || oldMicPosition != micPosition))) { + AudioEngineManager.get().setMute(roomQueueInfo.mRoomMicInfo.isMicMute() || AvRoomDataManager.get().mIsNeedOpenMic); + } } } noticeUpMic(Integer.parseInt(key), chatRoomMember.getAccount());