Navigation
API > API/Plugins > API/Plugins/OnlineSubsystemUtils
Generic implementation of voice engine, using Voice module for capture/codec
| Name | FVoiceEngineImpl |
| Type | class |
| Header File | /Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Public/VoiceEngineImpl.h |
| Include Path | #include "VoiceEngineImpl.h" |
Syntax
class FVoiceEngineImpl :
public IVoiceEngine ,
public FSelfRegisteringExec ,
public IDeviceChangedListener
Inheritance Hierarchy
- FExec → FSelfRegisteringExec → FVoiceEngineImpl
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FVoiceEngineImpl
(
IOnlineSubsystem* InSubsystem |
VoiceEngineImpl.h | ||
| Constructor | VoiceEngineImpl.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FVoiceEngineImpl() |
VoiceEngineImpl.h |
Classes
| Name | Remarks |
|---|---|
| FVoiceSerializeHelper |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FRemoteTalkerData | TMap< FUniqueNetIdWrapper, FRemoteTalkerDataImpl > | Mapping of UniqueIds to the incoming voice data and their audio component | VoiceEngineImpl.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllRemoteTalkerAudio | Audio::FPatchMixerSplitter | Audio taps for the full mixdown of all remote players. | VoiceEngineImpl.h | |
| AvailableVoiceResult | EVoiceCaptureState::Type | Current frame state of voice capture | VoiceEngineImpl.h | |
| bIsCapturing | bool | State of voice recording | VoiceEngineImpl.h | |
| bPendingFinalCapture | bool | Have we stopped capturing voice but are waiting for its completion | VoiceEngineImpl.h | |
| CompressedBytesAvailable | uint32 | Amount of compressed data available this frame | VoiceEngineImpl.h | |
| CompressedVoiceBuffer | TArray< uint8 > | Data from voice codec, waiting to send to network. | VoiceEngineImpl.h | |
| DecompressedVoiceBuffer | TArray< uint8 > | Voice decompression buffer, shared by all talkers, valid during SubmitRemoteVoiceData | VoiceEngineImpl.h | |
| ExternalEndpoints | TArray< TUniquePtr< FVoiceEndpoint > > | Collection of external endpoints that we are sending local or remote audio to. | VoiceEngineImpl.h | |
| OnlineInstanceName | FName | Instance name of associated online subsystem | VoiceEngineImpl.h | |
| OwningUserIndex | int32 | User index currently holding onto the voice interface | VoiceEngineImpl.h | |
| PlayerVoiceData | FLocalVoiceData | VoiceEngineImpl.h | ||
| RemoteTalkerBuffers | FRemoteTalkerData | Data from network playing on an audio component. | VoiceEngineImpl.h | |
| SerializeHelper | FVoiceSerializeHelper * | Serialization helper | VoiceEngineImpl.h | |
| UncompressedBytesAvailable | uint32 | Amount of uncompressed data available this frame | VoiceEngineImpl.h | |
| VoiceAmplitudes | TMap< FUniqueNetIdWrapper, FVoiceAmplitudeData > | Voice Amplitude data to prevent using FRemoteTalkerData if we don't actually require voice | VoiceEngineImpl.h | |
| VoiceCapture | TSharedPtr< IVoiceCapture > | Reference to voice capture device | VoiceEngineImpl.h | |
| VoiceEncoder | TSharedPtr< IVoiceEncoder > | Reference to voice encoding object | VoiceEngineImpl.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void GetVoiceSettingsOverride
(
const FUniqueNetIdWrapper& RemoteTalkerId, |
VoiceEngineImpl.h |
Overridden from IVoiceEngine
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void DisconnectAllEndpoints() |
VoiceEngineImpl.h | ||
virtual float GetIncomingAudioAmplitude
(
const FUniqueNetIdWrapper& RemoteUserId |
VoiceEngineImpl.h | ||
virtual float GetMicrophoneAmplitude
(
int32 LocalUserNum |
VoiceEngineImpl.h | ||
virtual Audio::FPatchOutputStrongPtr GetMicrophoneOutput() |
VoiceEngineImpl.h | ||
virtual Audio::FPatchOutputStrongPtr GetRemoteTalkerOutput() |
VoiceEngineImpl.h | ||
virtual uint32 GetVoiceDataReadyFlags() |
VoiceEngineImpl.h | ||
virtual FString GetVoiceDebugState() |
VoiceEngineImpl.h | ||
virtual bool IsHeadsetPresent
(
uint32 LocalUserNum |
VoiceEngineImpl.h | ||
virtual bool IsLocalPlayerTalking
(
uint32 LocalUserNum |
VoiceEngineImpl.h | ||
virtual bool IsRemotePlayerTalking
(
const FUniqueNetId& UniqueId |
VoiceEngineImpl.h | ||
virtual bool PatchLocalTalkerOutputToEndpoint
(
const FString& InDeviceName |
VoiceEngineImpl.h | ||
virtual bool PatchRemoteTalkerOutputToEndpoint
(
const FString& InDeviceName, |
VoiceEngineImpl.h | ||
virtual uint32 ReadLocalVoiceData
(
uint32 LocalUserNum, |
VoiceEngineImpl.h | ||
virtual uint32 ReadLocalVoiceData
(
uint32 LocalUserNum, |
VoiceEngineImpl.h | ||
virtual uint32 RegisterLocalTalker
(
uint32 LocalUserNum |
VoiceEngineImpl.h | ||
virtual uint32 RegisterRemoteTalker
(
const FUniqueNetId& UniqueId |
VoiceEngineImpl.h | ||
virtual uint32 SetPlaybackPriority
(
uint32 LocalUserNum, |
VoiceEngineImpl.h | ||
virtual uint32 SetRemoteVoiceAmplitude
(
const FUniqueNetIdWrapper& RemoteTalkerId, |
VoiceEngineImpl.h | ||
virtual uint32 StartLocalVoiceProcessing
(
uint32 LocalUserNum |
IVoiceEngine. | VoiceEngineImpl.h | |
virtual uint32 StartRemoteVoiceProcessing
(
const FUniqueNetId& UniqueId |
VoiceEngineImpl.h | ||
virtual uint32 StopLocalVoiceProcessing
(
uint32 LocalUserNum |
VoiceEngineImpl.h | ||
virtual uint32 StopRemoteVoiceProcessing
(
const FUniqueNetId& UniqueId |
VoiceEngineImpl.h | ||
virtual uint32 SubmitRemoteVoiceData
(
const FUniqueNetId& RemoteTalkerId, |
VoiceEngineImpl.h | ||
virtual uint32 SubmitRemoteVoiceData
(
const FUniqueNetIdWrapper& RemoteTalkerId, |
VoiceEngineImpl.h | ||
virtual void Tick
(
float DeltaTime |
VoiceEngineImpl.h | ||
virtual uint32 UnregisterLocalTalker
(
uint32 LocalUserNum |
VoiceEngineImpl.h | ||
virtual uint32 UnregisterRemoteTalker
(
const FUniqueNetId& UniqueId |
VoiceEngineImpl.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CreateSerializeHelper() |
VoiceEngineImpl.h | ||
virtual TArray< uint8 > & GetCompressedVoiceBuffer() |
VoiceEngineImpl.h | ||
virtual TArray< uint8 > & GetDecompressedVoiceBuffer() |
VoiceEngineImpl.h | ||
virtual FLocalVoiceData * GetLocalPlayerVoiceData() |
VoiceEngineImpl.h | ||
virtual int32 GetMaxVoiceRemainderSize() |
VoiceEngineImpl.h | ||
virtual IOnlineSubsystem * GetOnlineSubSystem() |
VoiceEngineImpl.h | ||
virtual FRemoteTalkerData & GetRemoteTalkerBuffers() |
VoiceEngineImpl.h | ||
virtual const TSharedPtr< IVoiceCapture > & GetVoiceCapture () |
VoiceEngineImpl.h | ||
virtual TSharedPtr< IVoiceCapture > & GetVoiceCapture () |
VoiceEngineImpl.h | ||
virtual TSharedPtr< IVoiceEncoder > & GetVoiceEncoder () |
VoiceEngineImpl.h | ||
virtual const TSharedPtr< IVoiceEncoder > & GetVoiceEncoder () |
VoiceEngineImpl.h | ||
virtual bool IsOwningUser
(
uint32 UserIndex |
Determines if the specified index is the owner or not | VoiceEngineImpl.h | |
virtual bool IsRecording() |
VoiceEngineImpl.h | ||
virtual void StartRecording() |
Start capturing voice data | VoiceEngineImpl.h | |
virtual void StoppedRecording() |
Called when "last half second" is over | VoiceEngineImpl.h | |
virtual void StopRecording() |
Stop capturing voice data | VoiceEngineImpl.h |
Overridden from IVoiceEngine
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Init
(
int32 MaxLocalTalkers, |
IVoiceEngine. | VoiceEngineImpl.h |
Overridden from FExec
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Exec_Runtime
(
UWorld* InWorld, |
FSelfRegisteringExec. | VoiceEngineImpl.h |
Overridden from IDeviceChangedListener
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnDefaultDeviceChanged() |
VoiceEngineImpl.h | ||
virtual void OnDeviceRemoved
(
FString DeviceID |
VoiceEngineImpl.h |