Classes
ULCKRecorderSubsystem
World subsystem managing video recording lifecycle.Parent: UTickableWorldSubsystemModule: LCKCore
Properties
| Property | Type | Access | Description |
|---|
CaptureComponent | USceneCaptureComponent2D* | BlueprintReadOnly | Active scene capture |
RenderTarget | UTextureRenderTarget2D* | BlueprintReadOnly | Capture render target |
Methods
| Method | Return | Description |
|---|
SetupRecorder(Params, Component) | void | Initialize recorder |
StartRecording() | bool | Begin recording |
StopRecording() | bool | Stop recording |
TakePhoto() | bool | Capture single frame |
StartPreview() | void | Start preview mode |
StopPreview() | void | Stop preview mode |
IsRecording() | bool | Check recording state |
GetTime() | float | Get recording duration |
GetMicrophoneVolume() | float | Get mic level (0-1) |
SetMicrophoneEnabled(bool) | void | Enable/disable mic |
IsMicrophoneEnabled() | bool | Check mic state |
ILCKEncoder
Abstract video encoder interface.Module: LCKCore
Methods
| Method | Return | Description |
|---|
Initialize(...) | bool | Initialize encoder |
Shutdown() | void | Release resources |
EncodeTexture(Texture, Time) | void | Encode video frame |
EncodeAudio(PCMData) | void | Encode audio data |
IsEncoding() | bool | Check encoding state |
StartEncoding() | bool | Begin encoding |
StopEncoding() | bool | Stop encoding |
GetOutputPath() | FString | Get output file path |
ILCKEncoderFactory
Factory for creating platform-specific encoders.Interface: IModularFeatureModule: LCKCore
Methods
| Method | Return | Description |
|---|
GetModularFeatureName() | FName | Static feature name |
CreateEncoder() | TSharedPtr<ILCKEncoder> | Create encoder instance |
GetFactoryName() | FString | Factory identifier |
GetPriority() | int32 | Selection priority |
ILCKAudioSource
Audio source interface for modular audio capture.Interface: IModularFeature, TSharedFromThis<ILCKAudioSource>Module: LCKAudio
Properties
| Property | Type | Description |
|---|
OnAudioDataDelegate | FOnRenderAudioDelegate | Audio data callback (single delegate) |
SupportedChannels | TLCKAudioChannelsMask | Supported channel mask |
Methods
| Method | Return | Description |
|---|
StartCapture() | bool | Start all channels |
StartCapture(Channels) | bool | Start specific channels |
StopCapture() | void | Stop capture |
GetVolume() | float | Current volume (0-1) |
GetSourceName() | const FString& | Source identifier |
GetSupportedChannels() | TLCKAudioChannelsMask | Channel mask |
OnAudioDataDelegate is a single delegate, not multicast. Use BindLambda() to bind and ExecuteIfBound() to fire.
Structures
FLCKRecorderParams
USTRUCT(BlueprintType)
struct LCKCORE_API FLCKRecorderParams
{
GENERATED_BODY()
UPROPERTY(Category="LCK", EditAnywhere, BlueprintReadWrite)
int32 Width = 1920;
UPROPERTY(Category="LCK", EditAnywhere, BlueprintReadWrite)
int32 Height = 1080;
UPROPERTY(Category="LCK", EditAnywhere, BlueprintReadWrite)
int32 Framerate = 30;
UPROPERTY(Category="LCK", EditAnywhere, BlueprintReadWrite)
int32 VideoBitrate = 2 << 20;
UPROPERTY(Category="LCK", EditAnywhere, BlueprintReadWrite)
int32 Samplerate = 48000;
UPROPERTY(Category="LCK", EditAnywhere, BlueprintReadWrite)
int32 AudioBitrate = 256 << 10;
};
Enumerations
ELCKAudioChannel
enum ELCKAudioChannel : uint64
{
None = 0, // No audio channel
Game = 1, // Game audio output
Microphone = 1 << 1, // Microphone input
VoiceChat = 1 << 2, // Voice chat audio (reserved)
Max = 1 << 3 // Maximum value marker
};
| Value | Bit | Description |
|---|
None | 0 | No audio |
Game | 1 | Game audio, FMOD, Wwise, Vivox incoming |
Microphone | 2 | Mic input, Oboe, Vivox outgoing |
VoiceChat | 4 | Reserved for future use |
Delegates
FOnLCKRecorderBoolResult
DECLARE_DELEGATE_OneParam(FOnLCKRecorderBoolResult, bool /*bSuccess*/);
FOnLCKRecorderProgress
DECLARE_DELEGATE_OneParam(FOnLCKRecorderProgress, float /*Progress*/);
FDelegateRenderAudio
DECLARE_MULTICAST_DELEGATE_ThreeParams(FDelegateRenderAudio,
TArrayView<const float>/*PCM*/,
int32/*Channels*/,
ELCKAudioChannel/*Source*/);
typedef FDelegateRenderAudio::FDelegate FOnRenderAudioDelegate;
Type Definitions
TLCKAudioChannelsMask
typedef uint64 TLCKAudioChannelsMask;
// Usage
TLCKAudioChannelsMask Channels = ELCKAudioChannel::Game | ELCKAudioChannel::Microphone;
Log Categories
DECLARE_LOG_CATEGORY_EXTERN(LogLCK, Log, All);
DECLARE_LOG_CATEGORY_EXTERN(LogLCKEncoding, Log, All);
DECLARE_LOG_CATEGORY_EXTERN(LogLCKAudio, Log, All);