Implemented Buzzer
This commit is contained in:
24
Buzzer.hpp
Normal file
24
Buzzer.hpp
Normal file
@@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <SDL2/SDL_audio.h>
|
||||
|
||||
class Buzzer {
|
||||
public:
|
||||
using sample_t = Sint16;
|
||||
|
||||
Buzzer(unsigned frequency);
|
||||
~Buzzer();
|
||||
|
||||
void on();
|
||||
void off();
|
||||
|
||||
private:
|
||||
static void SDLCALL audioCallback(void *userdata, Uint8 *stream, int len);
|
||||
void copySamples(Uint8 *stream, int len);
|
||||
|
||||
private:
|
||||
std::vector<sample_t> mSamples;
|
||||
SDL_AudioDeviceID mAudioDevice;
|
||||
size_t miCurrentSample;
|
||||
};
|
||||
Reference in New Issue
Block a user