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
|
||||
void initialisationMusique(Mix_Music *, const char *);
|
||||
|
||||
// Renvoie le stream de la musique
|
||||
Uint8 *musiqueStream(void);
|
||||
|
||||
// Renvoie la taille du stream de la musique
|
||||
int musiqueStreamTaille(void);
|
||||
// Renvoie une moyenne de l'intensité du son
|
||||
float moyenneMusique(void);
|
||||
|
||||
// Libère la musique en mémoire
|
||||
void liberationMusique(Mix_Music *);
|
||||
|
|
21
src/audio.c
21
src/audio.c
|
@ -3,24 +3,21 @@
|
|||
#include "../includes/audio.h"
|
||||
|
||||
// Stocke les données à propos de la musique
|
||||
struct infos {
|
||||
Uint8 *stream;
|
||||
int taille;
|
||||
} musique_infos;
|
||||
static float moyenne;
|
||||
|
||||
Uint8 *musiqueStream(void) {
|
||||
return musique_infos.stream;
|
||||
}
|
||||
|
||||
int musiqueStreamTaille(void) {
|
||||
return musique_infos.taille;
|
||||
float moyenneMusique(void) {
|
||||
return moyenne;
|
||||
}
|
||||
|
||||
void callback(void *_, Uint8 *stream, int taille) {
|
||||
(void)_;
|
||||
|
||||
musique_infos.stream = stream;
|
||||
musique_infos.taille = taille;
|
||||
int i = 0;
|
||||
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) {
|
||||
|
|
Reference in a new issue