Implemented Buzzer

This commit is contained in:
2024-11-22 21:01:23 -05:00
parent a7afcd2551
commit 3e5da27250
4 changed files with 127 additions and 0 deletions

24
Buzzer.hpp Normal file
View 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;
};