I’ve managed to access some raw data as follows:
const uint8* data = (const uint8*)MusicWave->RawData.Lock(LOCK_READ_ONLY);
if (data != nullptr) {
FString str;
for (int32 i = 0; i < MusicWave->RawData.GetBulkDataSize(); ++i) {
char buf[8];
sprintf(buf, " %d", data[i]);
str += (const char*)buf;
}
UE_LOG(LogMyActor, Log, TEXT("str %s"), str.GetCharArray().GetData());
}
else {
UE_LOG(LogMyActor, Log, TEXT("data is nullptr"));
}
MusicWave->RawData.Unlock();
However I’m not sure if this is the raw sound data which is ready to be processed (e.g. to which I can apply FFT to), or it’s the raw bytes of the sound file (including WAV metadata).