声网声音管理类
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package com.xscm.moduleutil.rtc;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* com.xscm.moduleutil.rtc
|
||||
* qx
|
||||
* 2025/11/3
|
||||
* 声网声音管理类
|
||||
*/
|
||||
public class VolumeManager {
|
||||
private static VolumeManager instance;
|
||||
private Map<String, Integer> userMusicVolumeMap = new HashMap<>();
|
||||
private Map<String, Integer> userPlayoutVolumeMap = new HashMap<>();
|
||||
private Map<String, Boolean> userPlayoutBzMap = new HashMap<>();
|
||||
private String currentUserId;
|
||||
|
||||
private VolumeManager() {}
|
||||
|
||||
public static VolumeManager getInstance() {
|
||||
if (instance == null) {
|
||||
synchronized (VolumeManager.class) {
|
||||
if (instance == null) {
|
||||
instance = new VolumeManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
public void setCurrentUserId(String userId) {
|
||||
this.currentUserId = userId;
|
||||
}
|
||||
|
||||
public void saveCurrentVolumes(int musicVolume, int playoutVolume) {
|
||||
if (currentUserId != null) {
|
||||
userMusicVolumeMap.put(currentUserId, musicVolume);
|
||||
userPlayoutVolumeMap.put(currentUserId, playoutVolume);
|
||||
}
|
||||
}
|
||||
public void clearCurrentVolumes() {
|
||||
if (currentUserId != null) {
|
||||
userMusicVolumeMap.remove(currentUserId);
|
||||
userPlayoutVolumeMap.remove(currentUserId);
|
||||
}
|
||||
userPlayoutBzMap.clear();
|
||||
}
|
||||
|
||||
public void saveBz(String userId, boolean bz){
|
||||
userPlayoutBzMap.clear();
|
||||
userPlayoutBzMap.put(userId, bz);
|
||||
}
|
||||
|
||||
public boolean getBz(String userId){
|
||||
Boolean bz = userPlayoutBzMap.get(userId);
|
||||
if (bz == null) {
|
||||
bz = true; // 默认值原唱 false 伴奏
|
||||
}
|
||||
return bz;
|
||||
}
|
||||
|
||||
public int[] getUserVolumes(String userId) {
|
||||
Integer musicVolume = userMusicVolumeMap.get(userId);
|
||||
Integer playoutVolume = userPlayoutVolumeMap.get(userId);
|
||||
|
||||
if (musicVolume == null) {
|
||||
musicVolume = 100; // 默认值
|
||||
}
|
||||
if (playoutVolume == null) {
|
||||
playoutVolume = 50; // 默认值
|
||||
}
|
||||
|
||||
return new int[]{musicVolume, playoutVolume};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user