1 #pragma once 2 #include <stdint.h> 3 #include "../minimp3_ex.h" 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 typedef int (*PARSE_GET_FILE_CB)(void *user, char **file_name); 9 typedef int (*PARSE_INFO_CB)(void *user, char *file_name, int rate, int mp3_channels, float duration); 10 11 typedef struct decoder 12 { 13 mp3dec_ex_t mp3d; 14 float mp3_duration; 15 float spectrum[32][2]; // for visualization 16 } decoder; 17 18 extern decoder _dec; 19 20 int open_dec(decoder *dec, const char *file_name); 21 int close_dec(decoder *dec); 22 void decode_samples(decoder *dec, uint8_t *buf, int bytes); 23 24 #ifdef __cplusplus 25 } 26 #endif 27