Problem z SDL_mixer i odtwarzaniem mp3

0

Witam wszystkich.

Od dłuższego czasu programuję w kompilatorze DevCpp i majstruję w bibliotece SDL. Natknąłem się na pewien problem związany z biblioteką SDL_mixer i jej funkcją odtwarzania dźwięków. W wielu tutorialach zapewniano, że SDL_mixer obsługuje format mp3 (posiadam wersję 1.2.7 tej biblioteki). Nie napotykam problemów z utworami WAV, które są odtwarzane prawidłowo, jednak gdy próbuję odtworzyć plik MP3 - program milczy i nie wydaje żadnych dźwięków.
Pokopałem trochę w internecie i okazało się, że trzeba mieć zainstalowaną bibliotekę SMPEG. Jako iż ma ona rozszerzenie *.dll to kopiuję ją po prostu do folderu z moim programem. No i wówczas wyskakuje taki o to error:
http://puu.sh/ecYu

Jakieś pomysły jak temu zaradzić? Lub czy powinienem użyć jakieś innej biblioteki? Konwersja Mp3 na WAV nie wchodzi w grę - 3h szukania działającego konwertera i sposobu na zmniejszenie rozmiaru przekonwertowanego WAV'a zmusiły mnie do kapitulacji.

Będę wdzięczny za wszelkie pomysły,
Pozdrawiam

0

DevC++ to nie kompilator, w sumie środowiskiem tego też bym nie nazwał. Przejdź chociażby na Code::Blocks. A biblioteka SMPEG jaką ma nazwę? Być może, że wymaga jeszcze jakiejś drugiej biblioteki ten SMPEG. Spróbuj ściągnąć tego dll'a z neta i wstawić do folderu z app.

0

Ta biblioteka to składnik mingw, i powinna być w folderach deva wewnątrz bin.

0

Dziękuję za odpowiedzi.
Niestety każde z Waszych przedstawionych rozwiązań Panowie zawiodło. Wciąż pojawia mi się ten sam error:
http://puu.sh/ecYu
Czy istnieje może jakaś możliwość ściągnięcia brakującej DLL o której mowa w errorze?

0

Szkoda tylko że nie napisałeś, że w folderach przedpotopowego dev'a NIE MA dll'ki o którą pytasz.

Błąd jest związany z tym że kompilator w dev'ie jest na tyle stary, że nie posiada tych bibliotek wyodrębnionych.
Zmień IDE na code::blocks mające nowsze mingw, to jest zdecydowanie lepsze i bardziej eleganckie rozwiązanie niż babranie się w devie.
Drugie to znaleźć inną wersję smpeg.dll nie wymagającą tamtych bibliotek.

0

Dobra, już sobie poradziłem. Babrałem się półtora roku z wersją 4.9.9.2 Dev'a, która jest już dosyć mocno przestarzała. Wystarczyło zaktualizować do 5.1 i dołączyć dll'ki libstdc++-6.dll oraz libgcc_s_sjlj-1.dll z binarek do folderu z *.exe.
Dziękuję za sugestie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1