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>
37typedef sfBool (*sfSoundRecorderStartCallback)(
void*);
38typedef sfBool (*sfSoundRecorderProcessCallback)(
const sfInt16*, size_t,
void*);
39typedef void (*sfSoundRecorderStopCallback)(
void*);
53CSFML_AUDIO_API sfSoundRecorder* sfSoundRecorder_create(sfSoundRecorderStartCallback onStart,
54 sfSoundRecorderProcessCallback onProcess,
55 sfSoundRecorderStopCallback onStop,
64CSFML_AUDIO_API
void sfSoundRecorder_destroy(sfSoundRecorder* soundRecorder);
82CSFML_AUDIO_API sfBool sfSoundRecorder_start(sfSoundRecorder* soundRecorder,
unsigned int sampleRate);
90CSFML_AUDIO_API
void sfSoundRecorder_stop(sfSoundRecorder* soundRecorder);
104CSFML_AUDIO_API
unsigned int sfSoundRecorder_getSampleRate(
const sfSoundRecorder* soundRecorder);
116CSFML_AUDIO_API sfBool sfSoundRecorder_isAvailable(
void);
135CSFML_AUDIO_API
void sfSoundRecorder_setProcessingInterval(sfSoundRecorder* soundRecorder,
sfTime interval);
149CSFML_AUDIO_API
const char** sfSoundRecorder_getAvailableDevices(
size_t* count);
160CSFML_AUDIO_API
const char* sfSoundRecorder_getDefaultDevice();
176CSFML_AUDIO_API sfBool sfSoundRecorder_setDevice(sfSoundRecorder* soundRecorder,
const char* name);
186CSFML_AUDIO_API
const char* sfSoundRecorder_getDevice(sfSoundRecorder* soundRecorder);
201CSFML_AUDIO_API
void sfSoundRecorder_setChannelCount(sfSoundRecorder* soundRecorder,
unsigned int channelCount);
214CSFML_AUDIO_API
unsigned int sfSoundRecorder_getChannelCount(
const sfSoundRecorder* soundRecorder);