사운드 웨이브 속성
오디오 데이터 접근
PCM 버퍼 검색
사운드 웨이브에서 직접 전체 PCM 버퍼를 검색할 수 있습니다.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
얻은 PCM 데이터를 바이트로 변환해야 하는 경우 Float Array to Bytes를 참조하세요.
재생 속성
루핑(Looping)
원활한 오디오 루프를 생성하기 위해, 루핑을 설정하여 사운드 웨이브 재생이 끝난 후 자동으로 재생 시간을 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);
가상화 모드(Virtualization Mode)
Play When Silent와 같은 가상화 모드를 설정할 수 있습니다. 이 모드는 무음 상태에서도 사운드 웨이브 재생이 계속되도록 합니다.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
이 기능은 특히 오디오가 거리에 따라 페이드되는 방식을 제어하기 위해 사운드 감쇠(sound attenuation)를 사용하는 경우에 유용합니다.
오디오 포맷 수정
수동 리샘플링 및 채널 믹싱
가져온 사운드 웨이브의 샘플 레이트 또는 채널 수를 변경해야 하는 경우, 적절한 함수를 사용하여 오디오 데이터를 리샘플링 하고 믹싱할 수 있습니다.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
이 작업은 전체 사운드 웨이브 데이터를 수정하며, OnGeneratePCMData
및 OnPopulateAudioData
대리자(delegate)의 출력에 영향을 미칩니다.
자동 형식 변환
추가될 모든 오디오 데이터를 지정된 원하는 샘플 레이트(sample rate)와 채널 수로 자동 리샘플링(resample) 및 믹싱(mix)할 수 있습니다.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
이것은 또한 OnGeneratePCMData
및 OnPopulateAudioData
대리자(delegate)의 출력에 동일하게 영향을 미칩니다.