DiscordPHP-Voice Documentation

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.
On this page

Search results