Domanda

Perché SDL_Mixer non dovrebbe riprodurre musica per alcuni mp3?

Sto utilizzando SDL_Mixer per la riproduzione di musica in un'applicazione che sto creando. Su alcuni brani (interi album in realtà), la musica semplicemente non verrà riprodotta senza restituire errori. I dati musicali vengono caricati correttamente utilizzando Mix_LoadMUS e quando si esegue Mix_PlayMusic con tali dati, stranamente restituisce 0 per il successo ma non riproduce musica. Ho anche provato a leggere Mix_GetError () e SDL_GetError () (credo che siano gli stessi) per vedere se genera un errore, ma nessuna fortuna.

La mia domanda è: quali altri motivi SDL_mixer non sarebbe in grado di riprodurre un particolare mp3?

So che gli mp3 sono funzionali dato che posso riprodurli in altri lettori musicali. So anche per certo che non stanno suonando (al contrario forse del volume che viene abbassato) poiché Mix_PlayingMusic restituisce 0.

Grazie a tutti!

È stato utile?

Soluzione

Questo in realtà è stato un problema serio con quel particolare computer. Dopo aver provato gli stessi test su un'altra macchina, il suono ha funzionato perfettamente. Solo una breve nota nel caso in cui qualcun altro incontri questo problema.

Altri suggerimenti

Diverse implementazioni dell'algoritmo MP3 tollerano diversi livelli di conformità al formato. La maggior parte dei lettori musicali è piuttosto tollerante, perché la maggior parte degli utenti preferisce ascoltare qualcosa di instabile piuttosto che niente, ma le librerie di riproduzione che sono comuni tollerano molto meno.

Consiglio di aprire gli mp3 offensivi (o tutti) in un editor di campioni audio, come Audacity e riesportare l'mp3. Potresti perdere solo un po 'di qualità poiché la compressione mp3 è per sua natura perdita, ma è probabile che risolva il problema di riproduzione.

Ho avuto lo stesso problema e riesportare i file mp3 con audacia non mi è stato d'aiuto, ma facendo qualcosa del genere:     if (Mix_PlayingMusic () == 0)         Mix_PlayMusic () nel loop degli eventi, la musica riprodotta dopo 2 o 3 tentativi (che era diversa ogni volta che eseguivo il programma). Un'altra soluzione era convertire la musica in file .ogg.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top