only return average music
This commit is contained in:
parent
586dafb33f
commit
4ea7bfdfd7
2 changed files with 11 additions and 17 deletions
|
@ -8,11 +8,8 @@
|
||||||
// Charge et lance la musique
|
// Charge et lance la musique
|
||||||
void initialisationMusique(Mix_Music *, const char *);
|
void initialisationMusique(Mix_Music *, const char *);
|
||||||
|
|
||||||
// Renvoie le stream de la musique
|
// Renvoie une moyenne de l'intensité du son
|
||||||
Uint8 *musiqueStream(void);
|
float moyenneMusique(void);
|
||||||
|
|
||||||
// Renvoie la taille du stream de la musique
|
|
||||||
int musiqueStreamTaille(void);
|
|
||||||
|
|
||||||
// Libère la musique en mémoire
|
// Libère la musique en mémoire
|
||||||
void liberationMusique(Mix_Music *);
|
void liberationMusique(Mix_Music *);
|
||||||
|
|
21
src/audio.c
21
src/audio.c
|
@ -3,24 +3,21 @@
|
||||||
#include "../includes/audio.h"
|
#include "../includes/audio.h"
|
||||||
|
|
||||||
// Stocke les données à propos de la musique
|
// Stocke les données à propos de la musique
|
||||||
struct infos {
|
static float moyenne;
|
||||||
Uint8 *stream;
|
|
||||||
int taille;
|
|
||||||
} musique_infos;
|
|
||||||
|
|
||||||
Uint8 *musiqueStream(void) {
|
float moyenneMusique(void) {
|
||||||
return musique_infos.stream;
|
return moyenne;
|
||||||
}
|
|
||||||
|
|
||||||
int musiqueStreamTaille(void) {
|
|
||||||
return musique_infos.taille;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void callback(void *_, Uint8 *stream, int taille) {
|
void callback(void *_, Uint8 *stream, int taille) {
|
||||||
(void)_;
|
(void)_;
|
||||||
|
|
||||||
musique_infos.stream = stream;
|
int i = 0;
|
||||||
musique_infos.taille = taille;
|
float moyenne_calcul = 0.f;
|
||||||
|
for(signed short * stream16 = (signed short *)stream; i < taille / 2; ++i) {
|
||||||
|
moyenne_calcul += stream16[i] / ((1 << 15) - 1.);
|
||||||
|
}
|
||||||
|
moyenne = fabs(moyenne_calcul / i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void initialisationMusique(Mix_Music *musique, const char *filename) {
|
void initialisationMusique(Mix_Music *musique, const char *filename) {
|
||||||
|
|
Reference in a new issue