KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UVoiceRecording 클래스 참조

음성 녹음 상태를 표시하는 위젯 더 자세히 ...

#include <UVoiceRecording.h>

+ UVoiceRecording에 대한 상속 다이어그램 :
+ UVoiceRecording에 대한 협력 다이어그램:

Public 멤버 함수

void InitWidget ()
 위젯 초기화
 
virtual void NativeTick (const FGeometry &MyGeometry, float InDeltaTime) override
 

Protected 속성

TObjectPtr< class UCircularProgressBarCircularProgressBar
 
TObjectPtr< class UImage > Image_Symbol
 원형 프로그레스바 위젯
 
float SpectrumDecaySpeed = 6.0f
 스펙트럼 감쇠 속도
 
float SpectrumRiseSpeed = 12.0f
 스펙트럼 상승 속도
 
float SpectrumSmoothing = 0.2f
 스펙트럼 스무딩 비율
 

Private 멤버 함수

void OnAudioCapture (bool bRecording)
 오디오 캡처 상태 변경 이벤트
 
void OnAudioSpectrum (float Spectrum)
 오디오 스펙트럼 데이터 수신 이벤트
 
void UpdateSpectrumVisual (float DeltaTime)
 스펙트럼 시각화 업데이트
 

Private 속성

float SpectrumDisplayValue = 0.f
 스펙트럼 표시 값
 
FLinearColor StartRecordingColor
 
FLinearColor StopRecordingColor
 

상세한 설명

음성 녹음 상태를 표시하는 위젯

OnAudioCapture 이벤트를 받아 녹음 상태를 시각화합니다.

UVoiceRecording.h 파일의 14 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ InitWidget()

void UVoiceRecording::InitWidget ( )

위젯 초기화

UVoiceRecording.cpp 파일의 13 번째 라인에서 정의되었습니다.

14{
15 // 브로드캐스트 매니저에 이벤트 등록
16 if (auto EventManager = UBroadcastManager::Get(GetWorld()))
17 {
18 EventManager->OnAudioCapture.RemoveDynamic(this, &UVoiceRecording::OnAudioCapture);
19 EventManager->OnAudioCapture.AddDynamic(this, &UVoiceRecording::OnAudioCapture);
20
21 EventManager->OnAudioSpectrum.RemoveDynamic(this, &UVoiceRecording::OnAudioSpectrum);
22 EventManager->OnAudioSpectrum.AddDynamic(this, &UVoiceRecording::OnAudioSpectrum);
23 }
24
25 StartRecordingColor = FColor::FromHex(TEXT("CEF97CFF"));
26 StopRecordingColor = FColor::FromHex(TEXT("A3A3A3FF"));
27}
FLinearColor StartRecordingColor
FLinearColor StopRecordingColor
void OnAudioSpectrum(float Spectrum)
오디오 스펙트럼 데이터 수신 이벤트
void OnAudioCapture(bool bRecording)
오디오 캡처 상태 변경 이벤트

다음을 참조함 : OnAudioCapture(), OnAudioSpectrum(), StartRecordingColor, StopRecordingColor.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ NativeTick()

void UVoiceRecording::NativeTick ( const FGeometry &  MyGeometry,
float  InDeltaTime 
)
overridevirtual

UVoiceRecording.cpp 파일의 29 번째 라인에서 정의되었습니다.

30{
31 Super::NativeTick(MyGeometry, InDeltaTime);
32
33 UpdateSpectrumVisual(InDeltaTime);
34}
void UpdateSpectrumVisual(float DeltaTime)
스펙트럼 시각화 업데이트

다음을 참조함 : UpdateSpectrumVisual().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnAudioCapture()

void UVoiceRecording::OnAudioCapture ( bool  bRecording)
private

오디오 캡처 상태 변경 이벤트

매개변수
bRecordingtrue면 녹음 시작, false면 녹음 종료

UVoiceRecording.cpp 파일의 53 번째 라인에서 정의되었습니다.

54{
55 Image_Symbol->SetColorAndOpacity(bRecording ? StartRecordingColor : StopRecordingColor );
56
57 if ( bRecording == false )
58 {
60 CircularProgressBar->SetPercent(0.0f);
61 }
62}
TObjectPtr< class UCircularProgressBar > CircularProgressBar
TObjectPtr< class UImage > Image_Symbol
원형 프로그레스바 위젯
float SpectrumDisplayValue
스펙트럼 표시 값

다음을 참조함 : CircularProgressBar, Image_Symbol, SpectrumDisplayValue, StartRecordingColor, StopRecordingColor.

다음에 의해서 참조됨 : InitWidget().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnAudioSpectrum()

void UVoiceRecording::OnAudioSpectrum ( float  Spectrum)
private

오디오 스펙트럼 데이터 수신 이벤트

매개변수
Spectrum스펙트럼 값 (0.0 ~ 1.0)

UVoiceRecording.cpp 파일의 64 번째 라인에서 정의되었습니다.

65{
66 SpectrumDisplayValue = Spectrum;
67}

다음을 참조함 : SpectrumDisplayValue.

다음에 의해서 참조됨 : InitWidget().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ UpdateSpectrumVisual()

void UVoiceRecording::UpdateSpectrumVisual ( float  DeltaTime)
private

스펙트럼 시각화 업데이트

UVoiceRecording.cpp 파일의 36 번째 라인에서 정의되었습니다.

37{
38 if ( !Image_Symbol->IsVisible())
39 return;
40
41 const float Delta = FMath::Max(DeltaTime, 0.0f);
42 const float TargetValue = SpectrumDisplayValue;
43 const float CurrentValue = CircularProgressBar->Percent;
44 const float InterpSpeed = TargetValue > CurrentValue ? SpectrumRiseSpeed : SpectrumDecaySpeed;
45 const float NewPercent = FMath::FInterpConstantTo(CurrentValue, TargetValue, Delta, InterpSpeed);
46 CircularProgressBar->SetPercent(FMath::Clamp(NewPercent, 0.0f, 1.0f));
47
48 // Image_Symbol 스케일 업데이트
49 const float Scale = FMath::Lerp(1.0f, 1.75f, NewPercent);
50 Image_Symbol->SetRenderScale(FVector2D(Scale, Scale));
51}
float SpectrumRiseSpeed
스펙트럼 상승 속도
float SpectrumDecaySpeed
스펙트럼 감쇠 속도

다음을 참조함 : CircularProgressBar, Image_Symbol, SpectrumDecaySpeed, SpectrumDisplayValue, SpectrumRiseSpeed.

다음에 의해서 참조됨 : NativeTick().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ CircularProgressBar

TObjectPtr<class UCircularProgressBar> UVoiceRecording::CircularProgressBar
protected

UVoiceRecording.h 파일의 44 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : OnAudioCapture(), UpdateSpectrumVisual().

◆ Image_Symbol

TObjectPtr<class UImage> UVoiceRecording::Image_Symbol
protected

원형 프로그레스바 위젯

UVoiceRecording.h 파일의 41 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : OnAudioCapture(), UpdateSpectrumVisual().

◆ SpectrumDecaySpeed

float UVoiceRecording::SpectrumDecaySpeed = 6.0f
protected

스펙트럼 감쇠 속도

UVoiceRecording.h 파일의 48 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : UpdateSpectrumVisual().

◆ SpectrumDisplayValue

float UVoiceRecording::SpectrumDisplayValue = 0.f
private

스펙트럼 표시 값

UVoiceRecording.h 파일의 60 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : OnAudioCapture(), OnAudioSpectrum(), UpdateSpectrumVisual().

◆ SpectrumRiseSpeed

float UVoiceRecording::SpectrumRiseSpeed = 12.0f
protected

스펙트럼 상승 속도

UVoiceRecording.h 파일의 52 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : UpdateSpectrumVisual().

◆ SpectrumSmoothing

float UVoiceRecording::SpectrumSmoothing = 0.2f
protected

스펙트럼 스무딩 비율

UVoiceRecording.h 파일의 56 번째 라인에서 정의되었습니다.

◆ StartRecordingColor

FLinearColor UVoiceRecording::StartRecordingColor
private

UVoiceRecording.h 파일의 62 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : InitWidget(), OnAudioCapture().

◆ StopRecordingColor

FLinearColor UVoiceRecording::StopRecordingColor
private

UVoiceRecording.h 파일의 63 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : InitWidget(), OnAudioCapture().


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: