only return average music

This commit is contained in:
Mylloon 2022-05-19 12:01:08 +02:00
parent 586dafb33f
commit 4ea7bfdfd7
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 11 additions and 17 deletions

View file

@ -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 *);

View file

@ -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) {