Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
Audio.h
Go to the documentation of this file.
1#pragma once
2#include "Common.h"
3#include <memory>
4#include <string>
5#include <vector>
6
7struct ma_sound;
8struct ma_decoder;
9
10namespace eng
11{
12 class Audio
13 {
14 public:
15 ~Audio();
16 void SetPosition(const glm::vec3& position);
17 void Play(bool loop = false);
18 void Stop();
19 bool IsPlaying() const;
20 void SetVolume(float volume);
21 float GetVolume() const;
22
23 static std::shared_ptr<Audio> Load(const std::string& path);
24
25 private:
26 std::unique_ptr<ma_sound> m_sound;
27 std::unique_ptr<ma_decoder> m_decoder;
28 std::vector<char> m_buffer;
29 };
30}
static std::shared_ptr< Audio > Load(const std::string &path)
Definition Audio.cpp:72
void Play(bool loop=false)
Definition Audio.cpp:27
void SetPosition(const glm::vec3 &position)
Definition Audio.cpp:19
void SetVolume(float volume)
Definition Audio.cpp:55
float GetVolume() const
Definition Audio.cpp:63
void Stop()
Definition Audio.cpp:37
bool IsPlaying() const
Definition Audio.cpp:46