사운드 웨이브 속성
오디오 데이터 접근
PCM 버퍼 검색
사운드 웨이브에서 전체 PCM 버퍼를 직접 검색할 수 있습니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
획득한 PCM 데이터를 바이트로 변환해야 하는 경우, Float Array to Bytes를 참조하세요.
재생 속성
루핑
원활한 오디오 루프를 생성하려면, 루핑을 설정하여 사운드 웨이브 재생이 끝난 후 자동으로 재생 시간을 0으로 되감아 재생할 수 있습니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
볼륨 제어
재생 중인 사운드의 볼륨을 필요에 맞게 조정할 수 있습니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
피치 조정
재생 중인 사운드의 피치를 선호도에 맞게 수정할 수 있습니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
추가 기능
자막
자막을 설정할 수 있습니다. 즉, 표시할 텍스트와 표시될 시간을 정의할 수 있습니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<FEditableSubtitleCue> Subtitles;
FEditableSubtitleCue Subtitle;
Subtitle.Text = FText::FromString("Example");
Subtitle.Time = 2.0f;
Subtitles.Add(Subtitle);
ImportedSoundWave->SetSubtitles(Subtitles);
가상화 모드
음소거 시 재생과 같은 가상화 모드를 설정할 수 있습니다. 이 모드는 침묵 구간 동안에도 사운드 웨이브의 재생을 계속할 수 있게 합니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
이는 오디오가 거리에 따라 어떻게 페이드되는지 제어하기 위해 사운드 감쇠를 사용하는 경우에 특히 유용합니다.
앰비소닉스(Ambisonics)
사운드 웨이브를 3D 공간 오디오 인코딩을 위한 앰비소닉스 소스로 표시할 수 있습니다. 오디오 엔진은 1차 앰비소닉스(FOA)만 지원하며, 이는 정확히 4개의 채널이 필요합니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
오디오 형식 수정
수동 리샘플링 및 채널 믹싱
가져온 사운드 웨이브의 샘플 레이트나 채널 수를 변경해야 하는 경우, 적절한 함수를 사용하여 오디오 데이터를 리샘플링하고 믹싱할 수 있습니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
이 작업은 전체 사운드 웨이브 데이터를 수정하며, 이에 따라 OnGeneratePCMData 및 OnPopulateAudioData 대리자(Delegate)의 출력에 영향을 미칩니다.
자동 형식 변환
추가로 채워질 모든 오디오 데이터를 지정된 원하는 샘플 레이트와 채널 수로 자동 리샘플링 및 믹싱할 수 있습니다.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
이것은 OnGeneratePCMData 및 OnPopulateAudioData 대리자의 출력에도 그에 따라 영향을 미칩니다.