#pragma once #include #include 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 mSamples; SDL_AudioDeviceID mAudioDevice; size_t miCurrentSample; };