mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-08-09 02:07:04 +08:00
feat(audio): integrate OpenAL audio engine with WAV/MP3/FLAC support
This commit is contained in:
26
include/Cubed/audio/audio_source.hpp
Normal file
26
include/Cubed/audio/audio_source.hpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
#include "Cubed/audio/audio_buffer.hpp"
|
||||
|
||||
#include <AL/al.h>
|
||||
namespace Cubed {
|
||||
|
||||
enum class AudioState { INITIAL, PLAYING, PAUSED, STOPPED };
|
||||
|
||||
class AudioSource {
|
||||
public:
|
||||
AudioSource();
|
||||
~AudioSource();
|
||||
|
||||
void set_buffer(const AudioBuffer& buffer);
|
||||
void set_loop(bool on = true);
|
||||
|
||||
void play();
|
||||
void stop();
|
||||
void pause();
|
||||
|
||||
AudioState state();
|
||||
|
||||
private:
|
||||
ALuint m_source = 0;
|
||||
};
|
||||
} // namespace Cubed
|
||||
Reference in New Issue
Block a user