25 #ifndef SFML_SOUNDRECORDER_H
26 #define SFML_SOUNDRECORDER_H
31 #include <SFML/Audio/Export.h>
32 #include <SFML/Audio/Types.h>
33 #include <SFML/System/Time.h>
37 typedef sfBool (*sfSoundRecorderStartCallback)(
void*);
38 typedef sfBool (*sfSoundRecorderProcessCallback)(
const sfInt16*, size_t,
void*);
39 typedef void (*sfSoundRecorderStopCallback)(
void*);
53 CSFML_AUDIO_API sfSoundRecorder* sfSoundRecorder_create(sfSoundRecorderStartCallback onStart,
54 sfSoundRecorderProcessCallback onProcess,
55 sfSoundRecorderStopCallback onStop,
64 CSFML_AUDIO_API
void sfSoundRecorder_destroy(sfSoundRecorder* soundRecorder);
82 CSFML_AUDIO_API sfBool sfSoundRecorder_start(sfSoundRecorder* soundRecorder,
unsigned int sampleRate);
90 CSFML_AUDIO_API
void sfSoundRecorder_stop(sfSoundRecorder* soundRecorder);
104 CSFML_AUDIO_API
unsigned int sfSoundRecorder_getSampleRate(
const sfSoundRecorder* soundRecorder);
116 CSFML_AUDIO_API sfBool sfSoundRecorder_isAvailable(
void);
135 CSFML_AUDIO_API
void sfSoundRecorder_setProcessingInterval(sfSoundRecorder* soundRecorder,
sfTime interval);
149 CSFML_AUDIO_API
const char** sfSoundRecorder_getAvailableDevices(
size_t* count);
160 CSFML_AUDIO_API
const char* sfSoundRecorder_getDefaultDevice();
176 CSFML_AUDIO_API sfBool sfSoundRecorder_setDevice(sfSoundRecorder* soundRecorder,
const char* name);
186 CSFML_AUDIO_API
const char* sfSoundRecorder_getDevice(sfSoundRecorder* soundRecorder);
201 CSFML_AUDIO_API
void sfSoundRecorder_setChannelCount(sfSoundRecorder* soundRecorder,
unsigned int channelCount);
214 CSFML_AUDIO_API
unsigned int sfSoundRecorder_getChannelCount(
const sfSoundRecorder* soundRecorder);
217 #endif // SFML_SOUNDRECORDER_H