#include "Audio.h" #include "../util/Files.h" #include "AudioPlayer.h" Audio::Audio() { } Audio::Audio(const char *path) { loadFromFile(path); } Audio::~Audio() { unload(); } bool Audio::isValid() const { return _data != nullptr; } void Audio::loadFromFile(const char *path) { unload(); void *pb = nullptr; _length = Files::allocateBufferAndLoadFromFile(path, &pb); _data = static_cast(pb); } void Audio::unload() { if (_data) { if (audioPlayer.isPlaying(*this)) { audioPlayer.stopAudio(*this); } Files::deleteBuffer(_data); _length = 0; } }