NAME¶
al_create_sample - Allegro 5 API
SYNOPSIS¶
-
#include <allegro5/allegro_audio.h>
ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,
unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)
DESCRIPTION¶
Create a sample data structure from the supplied buffer. If free_buf is true
then the buffer will be freed with al_free(3alleg5) when the sample data
structure is destroyed. For portability (especially Windows), the buffer
should have been allocated with al_malloc(3alleg5). Otherwise you should free
the sample data yourself.
To allocate a buffer of the correct size, you can use something like this:
-
sample_size = al_get_channel_count(chan_conf) * al_get_audio_depth_size(depth);
bytes = samples * sample_size;
buffer = al_malloc(bytes);
SEE ALSO¶
al_destroy_sample(3alleg5), ALLEGRO_AUDIO_DEPTH(3alleg5),
ALLEGRO_CHANNEL_CONF(3alleg5)