Application
Table of Contents
Interfaces
- ReadableBuffer
- WriteableBuffer
- GatewayCoordinatorHost
- Narrow interface exposing WS capabilities required by GatewayCoordinator.
- VoiceException
- Marker interface for all DiscordPHP-Voice exceptions.
- OpusDecoderInterface
- Interface for Opus Decoder implementations.
Classes
- SocketFactory
- UserConnected
- AbstractBuffer
- Buffer
- Helper class for handling binary data.
- Client
- The Discord voice client.
- BinaryFrame
- DecryptorHandle
- EncryptorHandle
- GatewayCoordinator
- Handles all DAVE E2EE gateway protocol logic on behalf of the voice WebSocket.
- KeyRatchetHandle
- MediaCryptoService
- NativeHandle
- Runtime
- SessionHandle
- State
- Per-connection DAVE E2EE state.
- TransitionPayload
- BufferTimedOutException
- Thrown when reading from a buffer times out.
- AudioAlreadyPlayingException
- Thrown when the Voice Client is already playing audio.
- CantJoinMoreThanOneChannelException
- Thrown when the selected Channel does not allow voice.
- CantSpeakInChannelException
- Thrown when the selected Channel does not allow voice.
- ChannelMustAllowVoiceException
- Thrown when the selected Channel does not allow voice.
- EnterChannelDeniedException
- Thrown when the selected Channel does not allow voice.
- ClientNotReadyException
- Thrown when the Voice Client is not ready.
- DCANotFoundException
- Thrown when DCA could not be found.
- ExtFfiNotFoundException
- Thrown when the PHP FFI extension (ext-ffi) is unavailable or disabled.
- FFmpegNotFoundException
- Thrown when the FFmpeg binary cannot be found in your PATH.
- LibDaveNotFoundException
- Thrown when libdave cannot be loaded and the voice connection cannot proceed.
- LibSodiumNotFoundException
- Thrown when libsodium or libsodium-php cannot be found.
- OpusNotFoundException
- Thrown when FFmpeg is not compiled with libopus.
- OutdatedDCAException
- Thrown when the installed DCA version is outdated.
- WS
- Handles the Discord voice WebSocket connection.
- Manager
- Manages many voice clients for the bot.
- Buffer
- DCA
- Handles the encoding and decoding of audio streams using DCA format.
- Ffmpeg
- Handles the decoding and encoding of audio streams using FFmpeg.
- OpusFfi
- Handles the decoding of Opus audio data using FFI (Foreign Function Interface).
- ProcessAbstract
- Abstract class for handling audio processing in Discord voice.
- User
- ReceiveStream
- Handles recieving audio from Discord.
- RecieveStream
- Handles recieving audio from Discord.
- WavWriter
- Writes Discord voice PCM audio to a standard WAV file.
- Packet
- An RTP voice packet: builds outbound frames and decodes inbound frames.
- RtpHeader
- UDP
- Handles the UDP connection & events for Discord voice.
- VoiceClient
- The Discord voice client.
- VoicePayload
- Represents a Gateway event payload with a voice token.
Traits
- BufferArrayAccessTrait
- ManagesPlayback
- Outbound-audio concern of {@see \Discord\Voice\VoiceClient}: the play* entry points, the Ogg/DCA read loops, and the playback state controls (speaking, volume, bitrate, pause/stop/reset).
- ManagesReceiving
- Inbound-audio concern of {@see \Discord\Voice\VoiceClient}: SSRC/speaking bookkeeping, per-user decoder processes and receive streams, and the {@see handleAudioData()} decode path.
- ManagesRecording
- Recording concern of {@see \Discord\Voice\VoiceClient}: {@see record()} / {@see stopRecording()} and the per-user file-sink lifecycle.
- HandlesDaveOpcodes
- The thin VOICE_DAVE_* opcode proxies of {@see \Discord\Voice\Gateway\WS}.
- BufferArrayAccessTrait
Enums
- FormatPackEnum
- RecordingFormat
- Represents the output format for voice recording.
- EncryptionMode
- The voice transport encryption modes this library can negotiate.
- HeaderValuesEnum
- Enum for header values used in Discord voice client.
- OpEnum
- Contains constants used in websockets.