Class AudioModuleConfig
java.lang.Object
net.dv8tion.jda.api.audio.AudioModuleConfig
Configuration for audio features in JDA.
This config is immutable, any updates to the config return a new config instance.
Example
jdaBuilder.setAudioModuleConfig(
new AudioModuleConfig()
.withAudioSendFactory(new NativeAudioSendFactory())
.withDaveSessionFactory(new JDaveSessionFactory())
)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe currently configuredIAudioSendFactory.The factory used for DAVE sessions.withAudioSendFactory(IAudioSendFactory audioSendFactory) Changes the factory used to createIAudioSendSystemobjects which handle the sending loop for audio packets.withDaveSessionFactory(DaveSessionFactory daveSessionFactory) The factory used for DAVE sessions.
-
Constructor Details
-
AudioModuleConfig
public AudioModuleConfig()
-
-
Method Details
-
getDaveSessionFactory
The factory used for DAVE sessions.Each audio / video connection on Discord requires End-to-End Encryption using the "Discord Audio & Video End-to-End Encryption" (DAVE) Protocol. The
DaveSessionprovided by this factory is responsible for managing this protocol for each connection. By default, JDA does not implement this protocol.- Returns:
DaveSessionFactory- See Also:
-
withDaveSessionFactory
@Nonnull @Contract("_ -> new") @CheckReturnValue public AudioModuleConfig withDaveSessionFactory(@Nonnull DaveSessionFactory daveSessionFactory) The factory used for DAVE sessions.Each audio / video connection on Discord requires End-to-End Encryption using the "Discord Audio & Video End-to-End Encryption" (DAVE) Protocol. The
DaveSessionprovided by this factory is responsible for managing this protocol for each connection. By default, JDA does not implement this protocol.- Parameters:
daveSessionFactory- The dave session factory to use- Returns:
- A new AudioModuleConfig with the provided factory
- Throws:
IllegalArgumentException- Ifnullis provided- See Also:
-
getAudioSendFactory
The currently configuredIAudioSendFactory.- Returns:
IAudioSendFactory- See Also:
-
withAudioSendFactory
@Nonnull @Contract("_ -> new") @CheckReturnValue public AudioModuleConfig withAudioSendFactory(@Nonnull IAudioSendFactory audioSendFactory) Changes the factory used to createIAudioSendSystemobjects which handle the sending loop for audio packets.
By default, JDA usesDefaultSendFactory.- Parameters:
audioSendFactory- The newIAudioSendFactoryto be used when creating newIAudioSendSystemobjects.- Returns:
- A new AudioModuleConfig with the provided factory
-