36 lines
615 B
C++
36 lines
615 B
C++
#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();
|
|
_length = Files::allocateBufferAndLoadFromFile(path, &_data);
|
|
}
|
|
|
|
void Audio::unload() {
|
|
if (_data) {
|
|
if (audioPlayer.isPlaying(*this)) {
|
|
audioPlayer.stopAudio(*this);
|
|
}
|
|
Files::deleteBuffer(_data);
|
|
_length = 0;
|
|
}
|
|
}
|
|
|