blob: a28ff4ed1206e2dc02ba6369b282cb05840bf59b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// wave.h
#ifndef __WAVE_H__
#define __WAVE_H__ 1
#define WAVE_ERR_NONE 0
#define WAVE_ERR_UNKNOWN_ERROR -1
#define WAVE_ERR_RESOURCE_UNAVAILABLE -2
#define WAVE_ERR_BAD_DEVICE_ID -3
#define WAVE_ERR_DEVICE_DRIVER_UNAVAILABLE -4
#define WAVE_ERR_OUT_OF_MEMORY -5
#define WAVE_ERR_INVALID_WAVE -6
#define WAVE_ERR_CANNOT_PLAY -7
#define WAVE_ERR_INVALID_HANDLE -8
#define WAVE_ERR_STILL_PLAYING -9
typedef struct __wave
{
int channels; // audio channels, mono, stereo, etc...
int samples_per_sec; // sample output frequency
int bits_per_sample; // 8 or 16
unsigned int frame_size; // ((bps + 7) / 8) * channels
unsigned int frame_count; // wave duration = (1 / frequency) * frame_count
const void *frame_data; // pointer to the buffer containing sample frames
}wave_t;
int wave_out(wave_t *wave);
const char *wave_err_to_str(int err);
#endif
|