'Voice Capture'는 마이크와 같은 외부 사운드 입력장치를 통하여 얻은 데이터를 사용할 수 있게 해주는 모듈이다.
'Voice Capture'를 사용하기 위해서는 'Project.Build.cs' 파일에 'OnlineSubsystem', 'OnlineSubsystemUtils', 'Voice' 모듈을 추가해야한다.
// Project.Build.cs
PublicDependencyModuleNames.AddRange(
new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "OnlineSubsystem", "OnlineSubsystemUtils", "Voice" });
그리고 .ini 파일들을 수정해야 한다.
// DefaultEngine.ini
[Voice]
bEnabled=true
[OnlineSubsystem]
bHasvoiceEnabled=true
// DefaultGame.ini
[/Script/Engine.GameSession]
bRequiresPushToTalk=false
.ini 파일까지 수정한 다음에 Voice Capture를 사용할 수 있다.
위 코드는 마이크에 입력된 소리가 그대로 전달되는 코드이다.
다만 'BeginPlay' 함수 안에 있는 38 ~ 64 번째 줄의 코드는 생성자에 존재해야한다.
이유는 모르지만 'Procedural'을 생성하는 과정에서 에러가 뜨기 때문에 나는 'BeginPlay' 함수 내에 사용했다.
'Voice Capture'은 마이크에 입력된 소리만을 잡아주기 때문에 값을 사용하는건 프로그래머의 재량에 달려있는 듯 하다.
'VoiceCaptureTick' 함수의 110번째 줄 까지가 마이크에 입력된 소리를 데이터화 시키는 작업이고, 112 ~ 113 번째 줄을 통해 데이터화 시킨 소리를 사운드로 출력할 수 있게 세팅해준다.
'PlayVoiceCapture' 함수가 마이크에 입력된 소리를 그대로 들려주는 함수이다.
'게임 개발 끄적 > Unreal (C++)' 카테고리의 다른 글
[UE4] Unreal C++ 한글 출력 에러 (1) | 2018.11.07 |
---|---|
[UE4] Thread (0) | 2018.06.21 |
[UE4] Render Capture Scene (0) | 2018.03.19 |
[UE4] File Copy & Explorer (0) | 2018.03.19 |
[UE4] Send HTTP (3) | 2018.03.19 |