본문으로 건너뛰기

Capturable Sound Wave

개요

캡처 가능한 사운드 웨이브는 스트리밍 사운드 웨이브에서 파생되었습니다. 마이크와 같은 입력 장치에서 오디오 데이터를 캡처하고 재생하는 것을 지원하며, 가져온 사운드 웨이브와 동일한 기능(되감기, SoundCue에서 사용 등)을 가지고 있습니다. 심지어 제한 없이 오디오를 동시에 캡처하고 재생할 수도 있습니다.

음성 활동 감지(Voice Activity Detection, VAD)에 대해서는 이 페이지를 참조하세요.

노트

캡처 가능한 사운드 웨이브는 캡처가 시작되면 iOS와 Android에서 자동으로 마이크 권한을 요청합니다.

기본 사용법

캡처 가능한 사운드 웨이브 생성하기

먼저 캡처 가능한 사운드 웨이브를 생성해야 합니다.

Create Capturable Sound Wave 노드

경고

캡처 가능한 사운드 웨이브를 강한 참조로 취급하여 조기 파괴를 방지해야 합니다 (예: Blueprints에서 별도의 변수에 할당하거나 C++에서 UPROPERTY() 사용).

사용 가능한 입력 장치 가져오기

이 기능을 사용하려면 먼저 캡처에 사용할 수 있는 모든 사용 가능한 오디오 입력 장치를 가져와야 합니다.

Get Available Audio Input Devices node

캡처 시작 및 중지

사용 가능한 장치를 가져온 후에는 필요할 때 입력 장치에서 오디오 데이터 캡처를 시작하고 중지할 수 있습니다.

Start and Stop capture nodes

정보

DeviceId는 이전 단계에서 얻은 사용 가능한 장치 배열 내의 장치 인덱스입니다. 기본 오디오 입력 장치를 사용하려면 Blueprint에서는 -1을, C++에서는 Audio::DefaultDeviceIndex(이는 INDEX_NONE과 동일함)를 전달하세요. 때로는 인덱스 0이 기본 장치가 아닐 수 있기 때문입니다.

캡처 상태 확인

사운드 웨이브가 현재 오디오를 캡처 중인지 확인할 수 있습니다:

Is Capturing node

고급 기능

캡처 음소거 및 음소거 해제

캡처 프로세스를 중단하지 않고 오디오 데이터가 누적되는 것을 방지하기 위해 사운드 캡처를 음소거하거나 음소거 해제할 수 있습니다.

Toggle Mute nodes

엔진 버전 차이

UE 5.3 이상: 캡처 시작 및 중지가 더 이상 끊김 현상을 유발하지 않으므로, ToggleMuteStartCapture/StopCapture와 동일한 효과를 냅니다. 성능 최적화를 위해 ToggleMute를 전혀 사용하지 않아도 될 수 있습니다.

UE 5.2 및 이전 버전: StartCapture를 통한 캡처 시작은 사소한 끊김 현상을 유발할 수 있습니다. 이러한 버전에서는 캡처를 자주 켜고 끌 때 ToggleMute 사용을 권장합니다. 덜 중요한 시점(예: 로딩 화면)에 캡처 자체를 먼저 시작한 다음, 음성 데이터가 실제로 누적되는 시기를 제어하기 위해 음소거/음소거 해제를 사용해야 합니다.

이전 엔진 버전의 성능 최적화

UE 5.2 또는 이전 버전을 사용 중이고 약간의 정지 현상을 제거하려면, 이 정지 현상이 무시할 수 있을 만한 시기에 캡처를 시작하는 것을 고려하세요. 예를 들어, 게임의 로딩 화면 중에 캡처를 시작하고, 그 직후 캡처 가능 사운드 웨이브를 음소거한 다음, 음성 데이터를 끊김 없이 캡처해야 할 때 캡처 가능 사운드 웨이브의 음소거를 해제할 수 있습니다.

완전한 예시

캡처 가능 사운드 웨이브 사용의 완전한 구현 예시입니다:

캡처 가능 사운드 웨이브 사용 예시