libsdl-org / SDL_mixer

An audio mixer that supports various file formats for Simple Directmedia Layer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to change Mix_Chunk to Mix_Music in SDL2_Mixer

ParkSeungwon opened this issue · comments

I couldn't find any documentation about this. Can anyone help me?

if (SDL_Init(SDL_INIT_AUDIO) < 0) return -1;
        
if( Mix_OpenAudio( 48000, MIX_DEFAULT_FORMAT, 2, 4096 ) == -1 ) return -1; 
Mix_Chunk *wave = Mix_LoadWAV("a.wav");
auto *p = SDL_RWFromMem(wave->abuf, wave->alen);
if(!p || !wave) return -1;
Mix_Music *music = Mix_LoadMUSType_RW(p, MUS_WAV, 0);
if(!music) cout <<"load Mus error " << SDL_GetError() << endl;
Mix_PlayMusic(music, 2);
//Mix_PlayChannel(-1, wave, 1);
char c;
cin >> c;

Mix_FreeMusic(music);
Mix_FreeChunk(wave);
Mix_CloseAudio();

I want to manipulate some wave data and store it in Mix_Music format with SDL2_Mixer. Above code gives me "load Mus error unknown wave format" error.

commented Mix_PlayChannel function works fine.

How can I change this code to make Mix_PlayMusic function work?

This is a good question for the SDL discussion group:
https://discourse.libsdl.org/c/sdl-development/6

SDL discussion group does not allow posting. My post is temporarily on hold for 2 days..
Could you remove temporary hold?

Okay, you should be able to post now.

You're being blocked because you're posting too fast. Try typing out the first part of your question and then pasting the rest?