# Documentation de la bibliothèque MLV-0.6.716

- Presentation
- Téléchargement
- Installation
- Compilation
- Exemples
- API
- Liste des fonctions
- bogues
- contacts

# Référence du fichier MLV_audio.h

Ce fichier définit les prototypes des fonctions permettant de faire jouer de la musique et des échantillons sonores à l'aide de la bibliothèque MLV. Plus de détails...

Aller au code source de ce fichier.

## Définition de type
typedef struct _MLV_Music | MLV_Music
| Ce type code un morceau de musique.
typedef struct _MLV_Sound | MLV_Sound
| Ce type code un échantillon sonore.
## Fonctions
int | MLV_init_audio ()
| Cette fonction initialise la bibliothèque MLV pour pouvoir jouer de la musique et des sons.
void | MLV_free_audio ()
| Ferme proprement les différents périphériques audios.
int | MLV_change_audio_buffer_size (int buffer_size)
| Change la taille du buffer audio. La taille doit être une puissance de 2.
void | MLV_change_number_of_parallel_sounds (unsigned int n)
| Change le nombre d'écahantillons sonores qui peuvent être joués en même temps.
MLV_Music * | MLV_load_music (const char *file_music)
| Charge un ficher contenant de la musique en mémoire.
void | MLV_free_music (MLV_Music *music)
| Ferme un morceau de musique chargé en mémoire.
void | MLV_play_music (const MLV_Music *music, float volume, int loop)
| Joue un morceau de musique qui est chargée en mémoire.
void | MLV_stop_music ()
| Arrête toutes les musiques.
MLV_Sound * | MLV_load_sound (const char *file_sound)
| Charge un ficher contenant un échantillon sonore en mémoire.
void | MLV_free_sound (MLV_Sound *sound)
| Ferme un échantillon sonore chargé en mémoire.
void | MLV_play_sound (const MLV_Sound *sound, float volume)
| Joue un échantillon sonore chargé en mémoire.
void | MLV_stop_all_sounds ()
| Arrête tous les échantillons sonores.

## Description détaillée

Ce fichier définit les prototypes des fonctions permettant de faire jouer de la musique et des échantillons sonores à l'aide de la bibliothèque MLV.

Auteur:
  Adrien Boussicault
  Marc Zipstein

## Documentation des fonctions

int MLV_change_audio_buffer_size | ( | int | buffer_size | ) |

Change la taille du buffer audio. La taille doit être une puissance de 2.

Le porgramme rempli périodiquement un buffer audio à faire jouer par la carte son. Plus la taille du buffer audio est grande, plus le programme à le temps de remplir le buffer avant qu'il se vide. Plus le buffer est grand, plus le programme met du temps à le remplir.

Ainsi, si il y a un temps de latence entre une action et l'execution sonore du son correspondant, c'est que vous devez réduire la taille du buffer audio.

Si le son est coupé et crépite, c'est que le buffer est trop petit et que le processeur est trop lent pour remplir le buffer avant qu'il se vide. Vous devez donc agrandir la taille du buffer.

MLV_change_buffer_size vous permet d'ajuster la taille de ce buffer. par default la taille du buffer est mis à 1024.

Si vous utilisez le programme uniquement pour jouer de la musique, nous vous vous conseillons de configurer la taille du buffer à 4096.

Paramètres:

  | buffer_size | Taille du buffer audio ( une puissance de 2 )

Renvoie:
  Renvoie 0 si l'infrastructure audio a été correctement initialisé, renvoie -1 sinon.

void MLV_change_number_of_parallel_sounds | ( | unsigned int | n | ) |

Change le nombre d'écahantillons sonores qui peuvent être joués en même temps.

Paramètres:

  | n | Le nombre d'échantillons sonores.

void MLV_free_music | ( | MLV_Music * | music | ) |

Ferme un morceau de musique chargé en mémoire.

Paramètres:

  | music | Le morceau de musique à fermer

Exemples:
  advanced/03_music.c.

void MLV_free_sound | ( | MLV_Sound * | sound | ) |

Ferme un échantillon sonore chargé en mémoire.

Paramètres:

  | sound | L'échantillon sonore à fermer

Exemples:
  advanced/04_sound.c.

int MLV_init_audio | ( |  | ) |

Cette fonction initialise la bibliothèque MLV pour pouvoir jouer de la musique et des sons.

Renvoie:
  Renvoie 0 si l'infrastructure audio a été correctement initialisé, renvoie -1 sinon.

Exemples:
  advanced/03_music.c, advanced/04_sound.c, advanced/09_animation.c, et advanced/11_animation_book.c.

MLV_Music* MLV_load_music | ( | const char * | file_music | ) |

Charge un ficher contenant de la musique en mémoire.

Cette fonction prends en paramètre le chemin d'accès du fichier contenant la musique et renvoie un pointeur vers l'espace mémoire où a été chargé la musique.

Les formats de fichier acceptés sont les suivants .ogg, .mp3, .wav, etc ...

Paramètres:

  | file_music | Chemin d'accès vers un fichier contenant de la musique codée en format .wav.

Renvoie:
  Un pointeur vers la musique chargée en mémoire, ou NULL si la bibliothèque n'a pas réussi à charger la musique en mémoire.

Exemples:
  advanced/03_music.c.

MLV_Sound* MLV_load_sound | ( | const char * | file_sound | ) |

Charge un ficher contenant un échantillon sonore en mémoire.

Cette fonction prends en paramètre le chemin d'accès du fichier contenant l'échantillon sonore et renvoie un pointeur vers l'espace mémoire où a été chargé l'échantillon sonore.

Les formats de fichier acceptés sont les suivants : WAVE, AIFF, RIFF, OGG, and VOC.

Paramètres:

  | file_sound | Chemin d'accès vers un fichier contenant un échantillon sonore.

Renvoie:
  Null si le fichier n'a pas pu être chargé en mémoire. Un pointeur vers l'échantllon sonore sinon.

Exemples:
  advanced/04_sound.c, et advanced/09_animation.c.

void MLV_play_music | ( | const MLV_Music * | music,
|  | float | volume,
|  | int | loop |
| ) |  |  |

Joue un morceau de musique qui est chargée en mémoire.

Paramètres:

  | music | Le morceau de musique à jouer.
  | volume | Le volume sonore.
  | loop | Le nombre de fois que le morceau doit être joué. Si loop est strictement négatif, le morceau sera joué indéfiniment.

Exemples:
  advanced/03_music.c.

void MLV_play_sound | ( | const MLV_Sound * | sound,
|  | float | volume |
| ) |  |  |

Joue un échantillon sonore chargé en mémoire.

Paramètres:

  | sound | L'échantillon sonore à jouer.
  | volume | Le volume sonore.

Exemples:
  advanced/04_sound.c.