Namespace Adrenak.UniVoice
Classes
ClientSession<T>
Handles a client session. Requires an implementation of IAudioClient<T>, IAudioInput and IAudioOutputFactory each. Allows adding input and output filters and handles their execution.
EmptyAudioInput
An audio input implementation that doesn't do anything. Use this when the device doesn't have any input mode. This is especially useful when setting up the ClientSession object on a dedicated server that likely isn't going to have and mic or other audio capture devices.
Utils
Utils.Audio
Utils.Bytes
Utils.Network
VoiceSettings
Structs
AudioFrame
Interfaces
IAudioClient<T>
IAudioFilter
Offers ways to modify audio after being captured. To prevent the audio from being sent (for example when performing some pass or gating) return an empty byte array (new byte[0])
IAudioInput
Source of user voice input. This would usually be implemented over a microphone to get the users voice. But it can also be used in other ways such as streaming an mp4 file from disk. It's just an input and the source doesn't matter.
IAudioOutput
Responsible for handling incoming audio.
You'd normally want a
IAudioOutputFactory
An abstract factory that creates a concrete IAudioOutput