sdl audio
#include <SDL.h>
#include <SDL_mixer.h>
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_VIDEO) < 0)
return -1;
// Initialisation de SDL_Mixer
if (Mix_OpenAudio(96000, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024) < 0)
{
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Erreur initialisation SDL_mixer : %s", Mix_GetError());
SDL_Quit();
return -1;
}
Mix_Music* music = Mix_LoadMUS("ouman.mp3"); // Charge notre musique
if (music == nullptr)
{
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Erreur chargement de la musique : %s", Mix_GetError());
Mix_CloseAudio();
SDL_Quit();
return -1;
}
Mix_PlayMusic(music, -1); // Joue notre musique
SDL_Window* pWindow = nullptr;
SDL_Renderer* pRenderer = nullptr;
SDL_Event events;
bool close = false;
SDL_CreateWindowAndRenderer(800, 600, SDL_WINDOW_SHOWN, &pWindow, &pRenderer);
while (!close)
{
while (SDL_PollEvent(&events))
{
if (events.type == SDL_WINDOWEVENT && events.window.event == SDL_WINDOWEVENT_CLOSE)
close = true;
}
SDL_SetRenderDrawColor(pRenderer, 0, 0, 0, 255);
SDL_RenderClear(pRenderer);
SDL_RenderPresent(pRenderer);
}
SDL_DestroyRenderer(pRenderer);
SDL_DestroyWindow(pWindow);
Mix_FreeMusic(music); // Libére en mémoire notre musique
Mix_CloseAudio(); // Quitter correctement SDL_Mixer
SDL_Quit();
return 0;
}Copier