Fix audio module: implement WAV parsing and audio playback
- Implement ParseWAVData and ParseWAVHeader in AudioLoader to properly parse WAV file headers (sample rate, channels, bits per sample, duration) - Modify Load() to call ParseWAVData for WAV files during loading - Add DecodeAudioData() to AudioSourceComponent to decode PCM bytes to float - Update SetClip() to trigger audio decoding - Fix ProcessAudio() to read from decoded data instead of empty output buffer - Add WAV parsing unit tests (ParseWAV_Mono44100_16bit, ParseWAV_Stereo48000_16bit) Fixes issues: - AudioLoader::ParseWAVData was a stub returning true without parsing - AudioLoader::Load didn't extract audio metadata from WAV headers - AudioSourceComponent::ProcessAudio read from empty m_outputBuffer All 167 tests pass.
This commit is contained in:
@@ -82,6 +82,7 @@ public:
|
||||
std::string GetName() const override { return "AudioSource"; }
|
||||
|
||||
private:
|
||||
void DecodeAudioData();
|
||||
void Apply3DAttenuation(const Math::Vector3& listenerPosition);
|
||||
void UpdateEnergy(const float* buffer, Audio::uint32 sampleCount);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user