import sdl2.ext
from sdl2 import sdlmixer
sdl2.ext.init()
sdlmixer.Mix_Init(sdlmixer.MIX_INIT_MP3)
sdlmixer.Mix_OpenAudio(44100, sdlmixer.MIX_DEFAULT_FORMAT, 2, 4096)
sound = sdlmixer.Mix_LoadMUS(b"example.mp3")
sdlmixer.Mix_PlayMusic(sound, -1)
running = True
while running:
for event in sdl2.ext.get_events():
if event.type == sdl2.SDL_QUIT:
running = False
break
sdlmixer.Mix_FreeMusic(sound)
sdlmixer.Mix_CloseAudio()
sdlmixer.Mix_Quit()
sdl2.ext.quit()
import sdl2.ext
from sdl2 import sdlaudio
sdl2.ext.init()
sdlaudio.SDL_InitSubSystem(sdlaudio.SDL_INIT_AUDIO)
desired_spec = sdlaudio.SDL_AudioSpec(freq=44100, format=sdlaudio.AUDIO_S16, channels=2,
samples=4096, callback=audio_callback)
desired_spec_ptr = sdl2.ext.pointer(desired_spec)
def audio_callback(userdata, stream, length):
pass
audio_device = sdlaudio.SDL_OpenAudioDevice(None, 0, desired_spec_ptr, None, 0)
sdlaudio.SDL_PauseAudioDevice(audio_device, sdl2.SDL_FALSE)
running = True
while running:
for event in sdl2.ext.get_events():
if event.type == sdl2.SDL_QUIT:
running = False
break
sdlaudio.SDL_PauseAudioDevice(audio_device, sdl2.SDL_TRUE)
sdlaudio.SDL_CloseAudioDevice(audio_device)
sdlaudio.SDL_QuitSubSystem(sdlaudio.SDL_INIT_AUDIO)
sdl2.ext.quit()