1al_create_sample(3) Library Functions Manual al_create_sample(3)
2
3
4
6 al_create_sample
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 sample_size = al_get_channel_count(chan_conf) * al_get_audio_depth_size(depth);
26 bytes = samples * sample_size;
27 buffer = al_malloc(bytes);
28
30 al_destroy_sample(3), ALLEGRO_AUDIO_DEPTH(3), ALLEGRO_CHANNEL_CONF(3)
31
32
33
34Allegro reference manual al_create_sample(3)