fix:修复相亲房送礼导致闭麦、结束导致闭麦问题(只是临时补救,具体看注释)

fix:移除BaseRoomFragment中更新麦克风状态的某些判断(isNoProhibitMic),不知道之前为何加这段判断,但这段判断风险较大,某些情况导致麦克风状态一直显示未关闭(去掉后经测试验收,未发现问题)
This commit is contained in:
Max
2024-03-06 20:58:31 +08:00
parent 87b81b7761
commit 6b7adc5950
2 changed files with 14 additions and 7 deletions

View File

@@ -506,10 +506,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
} 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
) {

View File

@@ -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());