FVoiceEngineImpl

Generic implementation of voice engine, using Voice module for capture/codec

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

OnlineSubsystemUtils

Header

/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Public/VoiceEngineImpl.h

Include

#include "VoiceEngineImpl.h"

Syntax

class FVoiceEngineImpl :
    public IVoiceEngine,
    public FSelfRegisteringExec,
    public IDeviceChangedListener

Remarks

Generic implementation of voice engine, using Voice module for capture/codec

Constructors

Name Description

Protected function

FVoiceEngineImpl()

Constructor

Public function

FVoiceEngineImpl

(
    IOnlineSubsystem* InSubsystem
)

Destructors

Name Description

Public function Virtual

~FVoiceEngineImpl()

Functions

Name Description

Protected function Virtual

void

 

CreateSerializeHelper()

Protected function Virtual

TArray< uint...

 

GetCompressedVoiceBuffer()

Protected function Virtual

TArray< uint...

 

GetDecompressedVoiceBuffer()

Protected function Virtual

FLocalVoiceD...

 

GetLocalPlayerVoiceData()

Protected function Virtual

int32

 

GetMaxVoiceRemainderSize()

Protected function Virtual

IOnlineSubsy...

 

GetOnlineSubSystem()

Protected function Virtual

FRemoteTalke...

 

GetRemoteTalkerBuffers()

Protected function Virtual Const

const TShare...

 

GetVoiceCapture()

Protected function Virtual

TSharedPtr< ...

 

GetVoiceCapture()

Protected function Virtual

TSharedPtr< ...

 

GetVoiceEncoder()

Protected function Virtual Const

const TShare...

 

GetVoiceEncoder()

Public function Virtual

void

 

GetVoiceSettingsOverride

(
    const FUniqueNetIdWrapper& RemoteT...,
    FVoiceSettings& VoiceSettings
)

Protected function Virtual

bool

 

IsOwningUser

(
    uint32 UserIndex
)

Get Audio Device Changes on Windows.

Protected function Virtual Const

bool

 

IsRecording()

Protected function Virtual Const

void

 

StartRecording()

Start capturing voice data

Protected function Virtual Const

void

 

StoppedRecording()

Called when "last half second" is over

Protected function Virtual Const

void

 

StopRecording()

Stop capturing voice data

Overridden from IVoiceEngine

Name Description

Public function Virtual

void

 

DisconnectAllEndpoints()

When called, disconnects all additional audio endpoints we patched to using PatchVoiceOutputToDevice().

Public function Virtual

float

 

GetIncomingAudioAmplitude

(
    const FUniqueNetIdWrapper& RemoteU...
)

This can be used to get how loud the given microphone input is, typically on a scale between 0.0 and 1.0.

Public function Virtual

float

 

GetMicrophoneAmplitude

(
    int32 LocalUserNum
)

This can be used to get how loud the given microphone input is, typically on a scale between 0.0 and 1.0.

Public function Virtual

Audio::FPatc...

 

GetMicrophoneOutput()

This can be used to get arbitrarily tap outgoing microphone audio from local players to use elsewhere in your application.

Public function Virtual

Audio::FPatc...

 

GetRemoteTalkerOutput()

This can be used to get arbitrarily tap incoming VOIP audio from remote players to use elsewhere in your application.

Public function Virtual Const

uint32

 

GetVoiceDataReadyFlags()

Returns which local talkers have data ready to be read from the voice system

Public function Virtual Const

FString

 

GetVoiceDebugState()

Get information about the voice state for display

Protected function Virtual

bool

 

Init

(
    int32 MaxLocalTalkers,
    int32 MaxRemoteTalkers
)

IVoiceEngine.

Public function Virtual

bool

 

IsHeadsetPresent

(
    uint32 LocalUserNum
)

Checks whether a local user index has a headset present or not

Public function Virtual

bool

 

IsLocalPlayerTalking

(
    uint32 LocalUserNum
)

Determines whether a local user index is currently talking or not

Public function Virtual

bool

 

IsRemotePlayerTalking

(
    const FUniqueNetId& UniqueId
)

Determines whether a remote talker is currently talking or not

Public function Virtual

bool

 

PatchLocalTalkerOutputToEndpoint

(
    const FString& InDeviceName
)

This can be used to patch outgoing audio to a different audio device.

Public function Virtual

bool

 

PatchRemoteTalkerOutputToEndpoint

(
    const FString& InDeviceName,
    bool bMuteInGameOutput
)

This can be used to patch incoming audio to a different audio device.

Public function Virtual

uint32

 

ReadLocalVoiceData

(
    uint32 LocalUserNum,
    uint8* Data,
    uint32* Size,
    uint64* OutSampleCount
)

Public function Virtual

uint32

 

ReadLocalVoiceData

(
    uint32 LocalUserNum,
    uint8* Data,
    uint32* Size
)

Reads local voice data for the specified local talker.

Public function Virtual

uint32

 

RegisterLocalTalker

(
    uint32 LocalUserNum
)

Registers the user index as a local talker (interested in voice data)

Public function Virtual

uint32

 

RegisterRemoteTalker

(
    const FUniqueNetId& UniqueId
)

Registers the unique player id as a remote talker (submitted voice data only)

Public function Virtual

uint32

 

SetPlaybackPriority

(
    uint32 LocalUserNum,
    const FUniqueNetId& RemoteTalkerId,
    uint32 Priority
)

Sets the playback priority of a remote talker for the given user.

Public function Virtual

uint32

 

SetRemoteVoiceAmplitude

(
    const FUniqueNetIdWrapper& RemoteT...,
    float InAmplitude
)

Used when receiving remote voice data to set the amplitude of a remote talker's incoming audio.

Public function Virtual

uint32

 

StartLocalVoiceProcessing

(
    uint32 LocalUserNum
)

IVoiceEngine.

Public function Virtual

uint32

 

StartRemoteVoiceProcessing

(
    const FUniqueNetId& UniqueId
)

Starts remote voice processing for the specified user

Public function Virtual

uint32

 

StopLocalVoiceProcessing

(
    uint32 LocalUserNum
)

Stops local voice processing for the specified user index

Public function Virtual

uint32

 

StopRemoteVoiceProcessing

(
    const FUniqueNetId& UniqueId
)

Stops remote voice processing for the specified user

Public function Virtual

uint32

 

SubmitRemoteVoiceData

(
    const FUniqueNetId& RemoteTalkerId,
    uint8* Data,
    uint32* Size
)

Submits remote voice data for playback by the voice system.

Public function Virtual

uint32

 

SubmitRemoteVoiceData

(
    const FUniqueNetIdWrapper& RemoteT...,
    uint8* Data,
    uint32* Size,
    uint64& InSampleCount
)

Public function Virtual

void

 

Tick

(
    float DeltaTime
)

Allows for platform specific servicing of devices, etc.

Public function Virtual

uint32

 

UnregisterLocalTalker

(
    uint32 LocalUserNum
)

Unregisters the user index as a local talker (not interested in voice data)

Public function Virtual

uint32

 

UnregisterRemoteTalker

(
    const FUniqueNetId& UniqueId
)

Unregisters the unique player id as a remote talker

Overridden from FExec

Name Description

Public function Virtual

bool

 

Exec

(
    UWorld* InWorld,
    const TCHAR* Cmd,
    FOutputDevice& Ar
)

FSelfRegisteringExec.

Overridden from IDeviceChangedListener

Name Description

Protected function Virtual

void

 

OnDefaultDeviceChanged()

Get Audio Device Changes on Windows.

Protected function Virtual

void

 

OnDeviceRemoved

(
    FString DeviceID
)

Typedefs

Name

Description

FRemoteTalkerData

Mapping of UniqueIds to the incoming voice data and their audio component

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss