ソースを参照

网络教室伴奏音量大小调整

zouxuan 3 年 前
コミット
aa246abd8b

+ 4 - 0
mec-im/src/main/java/com/ym/dao/RoomDao.java

@@ -31,6 +31,10 @@ public interface RoomDao extends JpaRepository<Room, Long> {
     int updateDisplayByRid(String rid, String display);
 
     @Modifying
+    @Query(value = "update rongyun_room set sound_volume=?2 where rid=?1", nativeQuery = true)
+    int updateSoundVolumeById(String rid, Integer soundVolume);
+
+    @Modifying
     @Query(value = "update rongyun_room set whiteboard_name_index=?2 where rid=?1", nativeQuery = true)
     int updateWhiteboardNameIndexByRid(String rid, int whiteboardNameIndex);
 }

+ 2 - 0
mec-im/src/main/java/com/ym/pojo/ReqDeviceControlData.java

@@ -20,6 +20,8 @@ public class ReqDeviceControlData {
 	private Integer status;
 	private Integer examSongId;
 	private Integer musicScoreAccompanimentId;
+	//伴奏音量
+	private Integer soundVolume = 100;
 
 	public Integer getMusicScoreAccompanimentId() {
 		return musicScoreAccompanimentId;

+ 2 - 0
mec-im/src/main/java/com/ym/pojo/Room.java

@@ -25,6 +25,7 @@ public class Room implements Serializable {
     private @Getter @Setter Date createDt;
     private @Getter @Setter String display;
     private @Getter @Setter int whiteboardNameIndex;
+    private @Getter @Setter int soundVolume = 100;
 
     @Override
     public String toString() {
@@ -34,6 +35,7 @@ public class Room implements Serializable {
                 ", portrait='" + portrait + '\'' +
                 ", createDt=" + createDt +
                 ", display='" + display + '\'' +
+                ", soundVolume='" + soundVolume + '\'' +
                 ", whiteboardNameIndex='" + whiteboardNameIndex + '\'' +
                 '}';
     }

+ 2 - 0
mec-im/src/main/java/com/ym/pojo/RoomResult.java

@@ -25,6 +25,8 @@ public class RoomResult {
     private @Getter @Setter String autoCloseNetworkRoomTime;
     private @Getter @Setter Date startTime;
     private @Getter @Setter int surplusTime;
+    //伴奏音量
+    private @Getter @Setter int soundVolume = 100;
     private @Getter @Setter String imToken;
     private @Getter @Setter String authorization;
     private @Getter List<MemberResult> members = new ArrayList<>();

+ 8 - 2
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -175,7 +175,6 @@ public class RoomServiceImpl implements RoomService {
 
         RoomResult.MemberResult userResult = new RoomResult.MemberResult();
         RoomMember member = roomMemberDao.findByRidAndUid(roomId, userId);
-
         String userName;
         if (member == null) {
             int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
@@ -209,6 +208,7 @@ public class RoomServiceImpl implements RoomService {
 
         List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, courseId,null, null, null);
 
+        Room room = roomDao.findByRid(roomId);
         String display = "";
         if (roleEnum == RoleTeacher) {
             display = "display://type=1?userId=" + userId + "?uri=";
@@ -224,7 +224,6 @@ public class RoomServiceImpl implements RoomService {
             }
             //获取学员曲目下载状态
             userResult.setExamSongDownloadJson(examSongDownloadData);
-            Room room = roomDao.findByRid(roomId);
             if (room != null) {
                 display = room.getDisplay();
             }
@@ -261,6 +260,9 @@ public class RoomServiceImpl implements RoomService {
             roomResult.setMembers(roomMemberList,midiMap,examSongMap,scheduleStudentMusicScores);
         }
         roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
+        if (room != null) {
+            roomResult.setSoundVolume(room.getSoundVolume());
+        }
         log.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, userName, roleEnum);
         return roomResult;
     }
@@ -826,6 +828,10 @@ public class RoomServiceImpl implements RoomService {
         }else if (data.getMusicScoreOn() != null) {
             typeEnum = DeviceTypeEnum.MusicScore;
             enable = data.getMusicScoreOn();
+            if(enable){
+                //保存伴奏音量
+                roomDao.updateSoundVolumeById(roomId,data.getSoundVolume());
+            }
         }else if (data.getAccompanimentOn() != null) {
             typeEnum = DeviceTypeEnum.MusicScoreAccompaniment;
             enable = data.getAccompanimentOn();