UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VoiceModule.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
10#include "Net/VoiceConfig.h"
11
13#define DEFAULT_VOICE_SAMPLE_RATE 16000
15#define VOICE_SAMPLE_RATE DEFAULT_VOICE_SAMPLE_RATE
16
17class IVoiceCapture;
18class IVoiceEncoder;
19class IVoiceDecoder;
20
27
30
35 public IModuleInterface
36{
37
38public:
39
46 static inline FVoiceModule& Get()
47 {
48 return FModuleManager::LoadModuleChecked<FVoiceModule>("Voice");
49 }
50
56 static inline bool IsAvailable()
57 {
58 return FModuleManager::Get().IsModuleLoaded("Voice");
59 }
60
71
82
92
99
103 inline bool IsVoiceEnabled() const
104 {
105 return bEnabled;
106 }
107
108private:
109
110 IVoiceEncoder* CreateVoiceEncoderObject(int32 SampleRate, int32 NumChannels, EAudioEncodeHint EncodeHint);
111 IVoiceDecoder* CreateVoiceDecoderObject(int32 SampleRate, int32 NumChannels);
112
113 // IModuleInterface
114
119 virtual void StartupModule() override;
120
125 virtual void ShutdownModule() override;
126
128 bool bEnabled;
129};
130
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
EAudioEncodeHint
Definition VoiceConfig.h:28
CORE_API bool IsModuleLoaded(const FName InModuleName) const
Definition ModuleManager.cpp:347
static CORE_API FModuleManager & Get()
Definition ModuleManager.cpp:199
Definition VoiceModule.h:36
virtual bool DoesPlatformSupportVoiceCapture()
Definition VoiceModule.cpp:130
bool IsVoiceEnabled() const
Definition VoiceModule.h:103
virtual TSharedPtr< IVoiceEncoder > CreateVoiceEncoder(int32 SampleRate=UVOIPStatics::GetVoiceSampleRate(), int32 NumChannels=UVOIPStatics::GetVoiceNumChannels(), EAudioEncodeHint EncodeHint=UVOIPStatics::GetAudioEncodingHint())
Definition VoiceModule.cpp:76
virtual TSharedPtr< IVoiceDecoder > CreateVoiceDecoder(int32 SampleRate=UVOIPStatics::GetVoiceSampleRate(), int32 NumChannels=UVOIPStatics::GetVoiceNumChannels())
Definition VoiceModule.cpp:103
static FVoiceModule & Get()
Definition VoiceModule.h:46
static bool IsAvailable()
Definition VoiceModule.h:56
virtual TSharedPtr< IVoiceCapture > CreateVoiceCapture(const FString &DeviceName, int32 SampleRate=UVOIPStatics::GetVoiceSampleRate(), int32 NumChannels=UVOIPStatics::GetVoiceNumChannels())
Definition VoiceModule.cpp:64
Definition ModuleInterface.h:14
Definition VoiceCapture.h:69
Definition VoiceCodec.h:110
Definition VoiceCodec.h:30
Definition SharedPointer.h:692
static ENGINE_API EAudioEncodeHint GetAudioEncodingHint()
Definition VoiceConfig.cpp:188
static ENGINE_API int32 GetVoiceSampleRate()
Definition VoiceConfig.cpp:83
static ENGINE_API int32 GetVoiceNumChannels()
Definition VoiceConfig.cpp:123