IOnlineVoice

This interface is an abstract mechanism for managing voice data.

Windows
MacOS
Linux

Inheritance Hierarchy

IOnlineVoice

FOnlineVoiceImpl

References

Module

OnlineSubsystem

Header

/Engine/Plugins/Online/OnlineSubsystem/Source/Public/Interfaces/VoiceInterface.h

Include

#include "Interfaces/VoiceInterface.h"

Syntax

class IOnlineVoice

Remarks

This interface is an abstract mechanism for managing voice data. Each platform implements a specific version of this interface.

Variables

Name Description

Public variable

FOnPlayerTalkin ...

 

OnPlayerTalkingStateChangedDelegates

Delegate called when a player is talking either remotely or locally Called once for each active talker each frame

Constructors

Name Description

Protected function

IOnlineVoice()

Destructors

Name Description

Public function Virtual

~IOnlineVoice()

Virtual destructor to force proper child cleanup

Functions

Name Description

Public function Virtual

FDelegateHan ...

 

AddOnPlayerTalkingStateChangedDelegate_Handle

(
    const FOnPlayerTalkingStateChangedD ...
)

Public function Virtual

void

 

ClearOnPlayerTalkingStateChangedDelegate_Handle

(
    FDelegateHandle & Handle
)

Public function Virtual

void

 

ClearOnPlayerTalkingStateChangedDelegates

(
    void * Object
)

Public function

void

 

ClearVoicePackets()

Clears all voice packets currently queued for send

Protected function

IVoiceEngine ...

 

CreateVoiceEngine()

Public function Virtual

void

 

DisconnectAllEndpoints()

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

Public function Virtual

float

 

GetAmplitudeOfRemoteTalker

(
    const FUniqueNetId & PlayerId
)

This returns the current amplitude of a given player's incoming audio.

Public function

TSharedPtr < ...

 

GetLocalPacket

(
    uint32 LocalUserNum
)

Get the local voice packet intended for send

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

int32

 

GetNumLocalTalkers()

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 Const

FString

 

GetVoiceDebugState()

Get information about the voice state for display

Public function Virtual

bool

 

Init()

Initialize the voice interface

Public function

bool

 

IsHeadsetPresent

(
    uint32 LocalUserNum
)

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

Public function

bool

 

IsLocalPlayerTalking

(
    uint32 LocalUserNum
)

Determines whether a local user index is currently talking or not

Public function Const

bool

 

IsMuted

(
    uint32 LocalUserNum,
    const FUniqueNetId & UniqueId
)

Checks that a unique player id is on the specified user's mute list

Public function

bool

 

IsRemotePlayerTalking

(
    const FUniqueNetId & UniqueId
)

Determines whether a remote talker is currently talking or not

Public function

bool

 

MuteRemoteTalker

(
    uint8 LocalUserNum,
    const FUniqueNetId & PlayerId,
    bool bIsSystemWide
)

Mutes a remote talker for the specified local player.

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.

Protected function

void

 

ProcessMuteChangeNotification()

Re-evaluates the muting list for all local talkers

Public function

bool

 

RegisterLocalTalker

(
    uint32 LocalUserNum
)

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

Public function

void

 

RegisterLocalTalkers()

Registers all signed in local talkers

Public function

bool

 

RegisterRemoteTalker

(
    const FUniqueNetId & UniqueId
)

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

Public function

void

 

RemoveAllRemoteTalkers()

Iterates the current remote talker list unregistering them with the voice engine and our internal state

Public function

TSharedPtr < ...

 

SerializeRemotePacket

(
    FArchive & Ar
)

Convert generic network packet data back into voice data

Public function Virtual

void

 

Shutdown()

Public function

void

 

StartNetworkedVoice

(
    uint8 LocalUserNum
)

Tells the voice layer that networked processing of the voice data is allowed for the specified player.

Public function

void

 

StopNetworkedVoice

(
    uint8 LocalUserNum
)

Tells the voice layer to stop processing networked voice support for the specified player.

Public function

void

 

Tick

(
    float DeltaTime
)

Allows for platform specific servicing of devices, etc.

Public function Virtual

void

 

TriggerOnPlayerTalkingStateChangedDelegates

(
    TSharedRef < const FUniqueNetId > Pa...,
    bool Param2
)

Public function

bool

 

UnmuteRemoteTalker

(
    uint8 LocalUserNum,
    const FUniqueNetId & PlayerId,
    bool bIsSystemWide
)

Allows a remote talker to talk to the specified local player.

Public function

bool

 

UnregisterLocalTalker

(
    uint32 LocalUserNum
)

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

Public function

void

 

UnregisterLocalTalkers()

Unregisters all signed in local talkers

Public function

bool

 

UnregisterRemoteTalker

(
    const FUniqueNetId & UniqueId
)

Unregisters the unique player id as a remote talker

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback