1al_create_sample(3) al_create_sample(3)
2
3
4
6 al_create_sample - Allegro 5 API
7
9 #include <allegro5/allegro_audio.h>
10
11 ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,
12 unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
13 ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)
14
16 Create a sample data structure from the supplied buffer. If free_buf
17 is true then the buffer will be freed with al_free(3) when the sample
18 data structure is destroyed. For portability (especially Windows), the
19 buffer should have been allocated with al_malloc(3). Otherwise you
20 should free the sample data yourself.
21
22 To allocate a buffer of the correct size, you can use something like
23 this:
24
25 int sample_size = al_get_channel_count(chan_conf)
26 * al_get_audio_depth_size(depth);
27 int bytes = samples * sample_size;
28 void *buffer = al_malloc(bytes);
29
31 al_destroy_sample(3), ALLEGRO_AUDIO_DEPTH(3), ALLEGRO_CHANNEL_CONF(3)
32
33
34
35Allegro reference manual al_create_sample(3)