| 
					
				 | 
			
			
				@@ -105,11 +105,11 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public RoomResult joinRoom(String userName, String roomId, boolean isAudience, boolean isDisableCamera) throws ApiException, Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public RoomResult joinRoom(String userName, String roomId, boolean isAudience, boolean isDisableCamera,boolean isMusicMode) throws ApiException, Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CheckUtils.checkArgument(userName != null, "userName must't be null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CheckUtils.checkArgument(roomId != null, "roomId must't be null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        log.info("joinRoom: roomId={}, userName={}, isAudience={}, isDisableCamera={}", roomId, userName, isAudience, isDisableCamera); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.info("joinRoom: roomId={}, userName={}, isAudience={}, isDisableCamera={},isMusicMode={}", roomId, userName, isAudience, isDisableCamera,isMusicMode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SysUser sysUser = sysUserFeignService.queryUserInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String userId = sysUser.getId().toString(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -178,7 +178,7 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 roleEnum = RoleEnum.RoleStudent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            saveRoomMember(userId, userName, roomId, roleEnum.getValue(), !isDisableCamera, curTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            saveRoomMember(userId, userName, roomId, roleEnum.getValue(), !isDisableCamera,!isMusicMode, curTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             IMApiResultInfo resultInfo = imHelper.joinGroup(new String[]{userId}, roomId, roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!resultInfo.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 throw new ApiException(ErrorEnum.ERR_CREATE_ROOM_ERROR, resultInfo.getErrorMessage()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -338,7 +338,7 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void saveRoomMember(String userId, String userName, String roomId, int role, boolean cameraOn, Date joinTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void saveRoomMember(String userId, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RoomMember roomMember = new RoomMember(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         roomMember.setUid(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         roomMember.setName(userName); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -346,6 +346,7 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         roomMember.setRole(role); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         roomMember.setCamera(cameraOn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         roomMember.setJoinDt(joinTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        roomMember.setMusicMode(musicModeOn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         roomMemberDao.save(roomMember); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -766,8 +767,10 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (typeEnum.equals(DeviceTypeEnum.Camera)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 roomMemberDao.updateCameraByRidAndUid(roomId, userId, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (typeEnum.equals(DeviceTypeEnum.Microphone)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 roomMemberDao.updateMicByRidAndUid(roomId, userId, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                roomMemberDao.updateMusicByRidAndUid(roomId, userId, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             deviceResourceMessage.setUserId(userId); 
			 |