1. # Demo: Play audio with SDL2_mixer
  2.  
  3. from os import path
  4. import sys
  5.  
  6. try:
  7.     from sdl2 import *
  8.     from sdl2.sdlmixer import *
  9.  
  10. except ImportError:
  11.     import traceback
  12.     traceback.print_exc()
  13.     sys.exit(1)
  14.  
  15. if SDL_Init(SDL_INIT_AUDIO) != 0:
  16.     raise RuntimeError("Cannot initialize audio system: {}".format(SDL_GetError()))
  17.  
  18. if Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024):
  19.     raise RuntimeError("Cannot open mixed audio: {}".format(Mix_GetError()))
  20.  
  21. # OK: wav, mp3, ogg
  22. sample = Mix_LoadWAV((path.realpath('.')+"/assets/test.mp3").encode())
  23.  
  24. if sample is None:
  25.     raise RuntimeError("Cannot open audio file: {}".format(Mix_GetError()))
  26.  
  27. channel = Mix_PlayChannel(-1, sample, 0)
  28. if channel == -1:
  29.     raise RuntimeError("Cannot play sample: {}".format(Mix_GetError()))
  30.  
  31. while Mix_Playing(channel):
  32.     SDL_Delay(100)
  33.  
  34. Mix_CloseAudio()
  35. SDL_Quit(SDL_INIT_AUDIO)
  36.  
[raw code]