中EN

UQuartzSubsystem

Markdown9 KB 原始文件

source: https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/AudioMixer/UQuartzSubsystem?application_version=5.8 version: UE 5.8 API 官方文档 fetched: 2026-10-11 (curl)

Full text (HTML stripped)

UQuartzSubsystem | Unreal Engine 5.8 Documentation | Epic Developer Community Table of Contents Developer UQuartzSubsystem UQuartzSubsystem On this page Navigation API > API/Runtime > API/Runtime/AudioMixer Name UQuartzSubsystem Type class Header File /Engine/Source/Runtime/AudioMixer/Public/Quartz/QuartzSubsystem.h Include Path #include "Quartz/QuartzSubsystem.h" Syntax UCLASS (DisplayName="Quartz", MinimalAPI) class UQuartzSubsystem : public UTickableWorldSubsystem Copy full snippet UCLASS (DisplayName="Quartz", MinimalAPI) class UQuartzSubsystem : public UTickableWorldSubsystem Inheritance Hierarchy FTickableObjectBase → FTickableGameObject → UTickableWorldSubsystem → UQuartzSubsystem UObjectBase → UObjectBaseUtility → UObject → USubsystem → UWorldSubsystem → UTickableWorldSubsystem → UQuartzSubsystem Constructors Name Remarks Include Path Unreal Specifiers UQuartzSubsystem() Ctor/dtor Quartz/QuartzSubsystem.h Destructors Name Remarks Include Path Unreal Specifiers virtual ~UQuartzSubsystem() Quartz/QuartzSubsystem.h Variables Protected Name Type Remarks Include Path Unreal Specifiers bTickEvenWhenPaused bool Quartz/QuartzSubsystem.h ClockManagerDataPtr TSharedPtr < Audio::FPersistentQuartzSubsystemData > Clock manager/proxy-related data that lives on the AudioDevice for persistence. Quartz/QuartzSubsystem.h TickableObjectManagerPtr TSharedPtr < FQuartzTickableObjectsManager > Sharable tickable object manager to allow for non-UObject subscription / un-subscription Quartz/QuartzSubsystem.h Functions Public Name Remarks Include Path Unreal Specifiers void AddProxyForExternalClock ( const Audio::FQuartzClockProxy & InProxy ) Allow an external clock (not ticked by the Audio Mixer or QuartzSubsystem) to be accessible via this subsystem Quartz/QuartzSubsystem.h UQuartzClockHandle * CreateNewClock ( const UObject * WorldContextObject, FName ClockName, FQuartzClockSettings InSettings, bool bOverrideSettingsIfClockExists, bool bUseAudioEngineClockManager ) Clock Creation create a new clock (or return handle if clock already exists) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject", AdvancedDisplay="bUseAudioEngineClockManager") void DeleteClockByHandle ( const UObject * WorldContextObject, UPARAM(ref) UQuartzClockHandle & InClockHandle ) Delete an existing clock given its clock handle Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") void DeleteClockByName ( const UObject * WorldContextObject, FName ClockName ) Delete an existing clock given its name Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") bool DoesClockExist ( const UObject * WorldContextObject, FName ClockName ) Returns true if the clock exists Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") float GetAudioRenderThreadToGameThreadAverageLatency() Latency data (Audio Render Thread -> Game thread) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" float GetAudioRenderThreadToGameThreadMaxLatency() Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" float GetAudioRenderThreadToGameThreadMinLatency() Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" FQuartzTransportTimeStamp GetCurrentClockTimestamp ( const UObject * WorldContextObject, const FName & InClockName ) Retrieves a timestamp for the clock. Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") float GetDurationOfQuantizationTypeInSeconds ( const UObject * WorldContextObject, FName ClockName, const EQuartzCommandQuantization& QuantizationType, float Multiplier ) Returns the duration in seconds of the given Quantization Type. Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") float GetEstimatedClockRunTime ( const UObject * WorldContextObject, const FName & InClockName ) Returns the amount of time, in seconds, the clock has been running. Caution: due to latency, this will not be perfectly accurate. Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") float GetGameThreadToAudioRenderThreadAverageLatency ( const UObject * WorldContextObject ) Latency data (Game thread -> Audio Render Thread) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" Meta=(WorldContext="WorldContextObject") float GetGameThreadToAudioRenderThreadMaxLatency ( const UObject * WorldContextObject ) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" Meta=(WorldContext="WorldContextObject") float GetGameThreadToAudioRenderThreadMinLatency ( const UObject * WorldContextObject ) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" Meta=(WorldContext="WorldContextObject") UQuartzClockHandle * GetHandleForClock ( const UObject * WorldContextObject, FName ClockName ) Get handle for existing clock Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") Audio::FQuartzClockProxy GetProxyForClock ( FName ClockName ) const Get C++ handle (proxy) to a clock if it exists Quartz/QuartzSubsystem.h float GetRoundTripAverageLatency ( const UObject * WorldContextObject ) Latency data (Round trip) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" Meta=(WorldContext="WorldContextObject") float GetRoundTripMaxLatency ( const UObject * WorldContextObject ) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" Meta=(WorldContext="WorldContextObject") float GetRoundTripMinLatency ( const UObject * WorldContextObject ) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" Meta=(WorldContext="WorldContextObject") TWeakPtr < FQuartzTickableObjectsManager > GetTickableObjectManager() Sharable to allow non-UObjects to un-subscribe if the Subsystem is going to outlive them Quartz/QuartzSubsystem.h bool IsClockRunning ( const UObject * WorldContextObject, FName ClockName ) Returns true if the clock is running Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" Meta=(WorldContext="WorldContextObject") bool IsQuartzEnabled() Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Clock Handle" void SetQuartzSubsystemTickableWhenPaused ( const bool bInTickableWhenPaused ) Quartz/QuartzSubsystem.h BlueprintCallable Category="Quartz Subsystem" void SubscribeToQuartzTick ( FQuartzTickableObject InObjectToTick ) These calls are forwarded to the internal FQuartzTickableObjectsManager Quartz/QuartzSubsystem.h void UnsubscribeFromQuartzTick ( FQuartzTickableObject* InObjectToTick ) Quartz/QuartzSubsystem.h Public Virtual Name Remarks Include Path Unreal Specifiers virtual void BeginDestroy() Quartz/QuartzSubsystem.h virtual void Deinitialize() Quartz/QuartzSubsystem.h virtual bool DoesSupportWorldType ( EWorldType::Type WorldType ) const Quartz/QuartzSubsystem.h virtual TStatId GetStatId() Quartz/QuartzSubsystem.h virtual void Initialize ( FSubsystemCollectionBase& Collection ) Quartz/QuartzSubsystem.h virtual bool IsTickable() Quartz/QuartzSubsystem.h virtual bool IsTickableWhenPaused() Quartz/QuartzSubsystem.h virtual void Tick ( float DeltaTime ) Quartz/QuartzSubsystem.h Static Name Remarks Include Path Unreal Specifiers static Audio::FQuartzQuantizedRequestData CreateRequestDataForQuantizedNotify ( UQuartzClockHandle * InClockHandle, const FQuartzQuantizationBoundary& InQuantizationBoundary, const FOnQuartzCommandEventBP& InDelegate, float InMsOffset ) Quartz/QuartzSubsystem.h static Audio::FQuartzQuantizedRequestData CreateRequestDataForSchedulePlaySound ( UQuartzClockHandle * InClockHandle, const FOnQuartzCommandEventBP& InDelegate, const FQuartzQuantizationBoundary& InQuantizationBoundary ) Quartz/QuartzSubsystem.h static Audio::FQuartzQuantizedRequestData CreateRequestDataForStartOtherClock ( UQuartzClockHandle * InClockHandle, FName InClockToStart, const FQuartzQuantizationBoundary& InQuantizationBoundary, const FOnQuartzCommandEventBP& InDelegate ) Quartz/QuartzSubsystem.h static Audio::FQuartzQuantizedRequestData CreateRequestDataForTickRateChange ( UQuartzClockHandle * InClockHandle, const FOnQuartzCommandEventBP& InDelegate, const Audio::FQuartzClockTickRate& InNewTickRate, const FQuartzQuantizationBoundary& InQuantizationBoundary ) Helper functions for initializing quantized command initialization struct (to consolidate eyesore) Quartz/QuartzSubsystem.h static Audio::FQuartzQuantizedRequestData CreateRequestDataForTransportReset ( UQuartzClockHandle * InClockHandle, const FQuartzQuantizationBoundary& InQuantizationBoundary, const FOnQuartzCommandEventBP& InDelegate ) Quartz/QuartzSubsystem.h static UQuartzSubsystem * Get ( const UWorld*const World ) Static methods Quartz/QuartzSubsystem.h static void PruneStaleProxiesInternal ( TArray < Audio::FQuartzClockProxy >& ContainerToPrune ) Quartz/QuartzSubsystem.h Ask questions and help your peers Developer Forums Write your own tutorials or read those from others Learning Library On this page Navigation Syntax Inheritance Hierarchy Constructors Destructors Variables Protected Functions Public Public Virtual Static

引用这一章的笔记

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原