Comprendre l'audio dans les jeux - Pourquoi le son est important
Charger et jouer un son - LoadSound() et PlaySound()
Charger et jouer une musique - LoadMusicStream() et PlayMusicStream()
Contrôler le volume - SetSoundVolume() et SetMusicVolume()
Étape 1 : Créez un fichier nommé musqiue_fond.c.
Étape 2 : Créer la fenêtre.
800 × 600 : taille de la fenêtre
60 FPS : le programme se met à jour 60 fois par seconde
Étape 3 : Initialiser le système audio
Avant d’utiliser le son, il faut activer le système audio de raylib.
InitAudioDevice();
Étape 4 : télécharger le fichier audio Morning.mp3
Étape 5 : Charger la musique
Charger le fichier audio dans le programme.
Music musique = LoadMusicStream("music/morning.mp3");
Étape 6 : Lancer la musique
PlayMusicStream(musique);
Étape 7 : Définir le volume initial
float volume = 0.5f; // valeur entre 0.0 et 1.0
SetMusicVolume(musique, volume);
Étape 8 : Créer la variable de pause
bool musiqueEnPause = false;
Étape 9 : Mettre à jour la musique
UpdateMusicStream(musique);
⚠️ Cette instruction est obligatoire à chaque frame. Elle permet à raylib de continuer à lire la musique correctement.
Étape 10 : Contrôle pause / reprise
Si l’utilisateur appuie sur P, la musique est mise en pause ou reprise.
if (IsKeyPressed(KEY_P)) {
if (musiqueEnPause) {
ResumeMusicStream(musique);
musiqueEnPause = false;
} else {
PauseMusicStream(musique);
musiqueEnPause = true;
}
}
Étape 11 : Arrêter la musique
Arrêter complètement la musique.
if (IsKeyPressed(KEY_S)) {
StopMusicStream(musique);
}
Étape 12 : Recommencer la musique
Relancer la musique depuis le début.
if (IsKeyPressed(KEY_R)) {
PlayMusicStream(musique);
}
Étape 13 : Contrôler le volume
Augmenter ou diminuer le volume avec les flèches.
if (IsKeyPressed(KEY_UP)) {
volume = volume + 0.1f;
if (volume > 1.0f) volume = 1.0f;
SetMusicVolume(musique, volume);
}
if (IsKeyPressed(KEY_DOWN)) {
volume = volume - 0.1f;
if (volume < 0.0f) volume = 0.0f;
SetMusicVolume(musique, volume);
}
Étape 14 : Afficher le titre
DrawText("MUSIQUE DE FOND", 300, 100, 30, BLACK);
Étape 15 : Afficher l’état de la musique
Indiquer si la musique est en pause ou en lecture.
if (musiqueEnPause) {
DrawText("PAUSE", 370, 200, 25, ORANGE);
} else {
DrawText("EN COURS", 350, 200, 25, GREEN);
}
Étape 16 : Afficher le volume
Montrer le niveau du volume.
DrawText(TextFormat("Volume: %.0f%%", volume * 100), 350, 280, 20, BLUE);
Étape 17 : Afficher les instructions
Expliquer les contrôles du clavier.
DrawText("P: pause/resume", 300, 380, 15, DARKGRAY);
DrawText("S: stop", 300, 405, 15, DARKGRAY);
DrawText("R: restart", 300, 430, 15, DARKGRAY);
DrawText("UP/DOWN: volume", 300, 455, 15, DARKGRAY);
Étape 18 : Libérer les ressources et fermer le programme.
Après la boucle, ajoutez :
UnloadMusicStream(musique);
CloseAudioDevice();
CloseWindow();