class AgoraAudioVadManager
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private boolean |
isInitialized
Flag indicating whether the manager has been initialized
|
private AgoraAudioVadConfigV2 |
vadConfig
VAD configuration
|
private java.util.Map<java.lang.String,AgoraAudioVadV2> |
vadInstanceMap
Map to store VAD instances for different channels and users
|
| Constructor and Description |
|---|
AgoraAudioVadManager(AgoraAudioVadConfigV2 configure)
Constructor for AudioVadManager
|
| Modifier and Type | Method and Description |
|---|---|
private AgoraAudioVadV2 |
addVadInstance(java.lang.String channelId,
java.lang.String userId)
Adds a new VAD instance
|
void |
delVadInstance(java.lang.String channelId,
java.lang.String userId)
Removes and destroys the specified VAD instance
|
void |
destroy()
Destroys the manager
Cleans up all VAD instances and releases resources
Thread-safe method
|
AgoraAudioVadV2 |
getVadInstance(java.lang.String channelId,
java.lang.String userId)
Retrieves the VAD instance for specified channel and user
|
private java.lang.String |
makeKey(java.lang.String channelId,
java.lang.String userId)
Generates a unique key for VAD instance identification
|
VadProcessResult |
process(java.lang.String channelId,
java.lang.String userId,
AudioFrame frame)
Processes an audio frame through VAD
|
private volatile java.util.Map<java.lang.String,AgoraAudioVadV2> vadInstanceMap
private volatile AgoraAudioVadConfigV2 vadConfig
private volatile boolean isInitialized
public AgoraAudioVadManager(AgoraAudioVadConfigV2 configure)
configure - VAD configuration parameters, must not be nulljava.lang.IllegalArgumentException - when configure is nullprivate java.lang.String makeKey(java.lang.String channelId,
java.lang.String userId)
channelId - Channel IDuserId - User IDpublic AgoraAudioVadV2 getVadInstance(java.lang.String channelId, java.lang.String userId)
channelId - Channel IDuserId - User IDprivate AgoraAudioVadV2 addVadInstance(java.lang.String channelId, java.lang.String userId)
channelId - Channel IDuserId - User IDpublic void delVadInstance(java.lang.String channelId,
java.lang.String userId)
channelId - Channel IDuserId - User IDpublic VadProcessResult process(java.lang.String channelId, java.lang.String userId, AudioFrame frame)
channelId - Channel IDuserId - User IDframe - Audio frame to be processedpublic void destroy()