Libary zum Abspielen von MP3 Dateien



  • Ich versuche ein 2D Spiel mithilfe von Code::Blocks und WxWidgets zu schreiben. (2D als Spiel) Zumindest brauche ich dafür auch Sound. Was wäre da besser geeignet als MP3 nur bräuche ich eine dll (bzw. so für Linux), oder besser noch eine Headerfile, die mir das Abspielen von Musik möglichst einfach ermöglicht. Am besten mit anhängendem Tutorial für Dumme.^^



  • Nach 32 sekunden, harter, google suche.

    http://www.ambiera.com/irrklang/tutorial-3dsound.html



  • danke!



  • warum geht dieser Code nicht:

    #include <stdio.h>
    #include <irrklang.h>
    
    #if defined(WIN32)
    #include <conio.h>
    #else
    #include "../common/conio.h"
    #endif
    
    using namespace irrklang;
    
    #pragma comment(lib, "irrKlang.lib")
    int main(int argc, const char** argv)
    {
        ISoundEngine* engine;
        engine = irrklang::createIrrKlangDevice();
    
        if (!engine)
        {
            printf("Die Engine konnte nicht gestartet werden \n");
            return 0;
        }
        else
        {
            engine->play2D("01.mp3",false);
            return 121;
        }
        engine->drop();
    }
    

    Fehler: http://linuxvswindows.li.funpic.org/beta/pict/c++/err.jpg


  • Mod

    Das klingt, als hättest du beim Linken eine benötigte Bibliothek nicht mit angegeben. In der Anleitung von diesen "Irrklang" sollte irgendwo stehen wie das Programm zu linken ist.



  • 1. Da steht eine Warnung, die besagt, dass #pragma comment ignoriert wurde. Du wolltest eine Bibliothek dazulinken, was man beim MS-Compiler mit dieser Anweisung machen kann. Aber dein Compiler kann das nicht.
    2. Da steht außerdem eine Fehlermeldung vom Linker, der sich darüber beschwert, dass er eine Funktion nicht finden kann - was wegen 1. logisch ist.

    Lösung: finde heraus, wie du deinem Linker die Bibliothek ohne die #pragma -Anweisung bekannt machst.

    Uch rate dir, zu Anfang etwas anderes als ausgerechnet Spiele zu programmieren. Die meisten Tutorials von und für Spieleprogrammierer sind von Stümpern geschrieben, die C nicht von C++ unterscheiden können.



  • zu 1. Das könnte daran liegen, dass der die File nicht findet, ich habe aber keine Ahnung wo die irrlicht.lib liegen soll, bzw. keine Ahnung wo ich die rein schmeißen soll -.-

    zu 2. sicher hab ich da was übersehen. Nur was? Was muss ich dem Linker noch geben? ich hab mein Programm dem Code vom Beispiel "Hello World" und auch die Einstellungen angeglichen (kopiert) trotzdem wills einfach nicht klappen -.-



  • Naums schrieb:

    zu 1. Das könnte daran liegen, dass der die File nicht findet

    Möglich wäre es. Die Warnung sagt aber nicht, dass eine Datei nicht gefunden wurde, sondern dass das #pragma ignoriert wurde. Ich schließe daraus, dass der Compiler das comment-pragma nicht kennt. Ich kann mich aber auch irren.



  • ich benutze den MinGW32 der sollte das kennen.

    Ich habe ganz einfach nur vergessen dem Linker die Datei ../../lib/libirrKlang.a zu zeigen... Jetzt gehts. danke an euch!



  • Wenn ich mich recht erinnere dann ist das lib linken via #pragma comment ein Microsoft Compiler spezifisches Ding, und der Screenshot sieht nicht nach VS aus.



  • VS? Visual Studio? NEEE 1. Visual Studio ist von Microsoft!
    2. das, was ich benutze, is Code::Blocks.



  • Naums schrieb:

    VS? Visual Studio? NEEE 1. Visual Studio ist von Microsoft!
    2. das, was ich benutze, is Code::Blocks.

    darum gehts doch gerade...
    und deshalb wird das #pragma comment nicht gehen, weils ne msvc-fkt ist^^

    bb



  • äh, doch, ich glaube das geht. Das Programm will zumindest ne Irrlicht.dll haben. ^^



  • Naums schrieb:

    äh, doch, ich glaube das geht.

    Obwohl es dir eigentlich genügend oft gesagt wurde: Das geht nicht. Es hat einen Grund, wieso eine Warnung in Zeile 12 kommt. 🙄



  • Also ich würde (ohne gross Irrklang zu kennen) fmod empfehlen. Ich bin sehr davon begeistert. Funktioniert sehr einfach und der Support ist auch toll. 🙂
    (habe mal einen Fehler gepostet und Ende der Woche gabs ein neues Build, wo der gefixt war..-> genial).



  • ääääh. fmod? wie wer so was wann warum? Ich hab mich nun bissl in irrKlang eingefuchst, ich denke ich nehme das, wenn ich dann auch mal ne MP3 selbst abspielen kann ^^



  • drakon schrieb:

    Also ich würde (ohne gross Irrklang zu kennen) fmod empfehlen. Ich bin sehr davon begeistert. Funktioniert sehr einfach und der Support ist auch toll. 🙂
    (habe mal einen Fehler gepostet und Ende der Woche gabs ein neues Build, wo der gefixt war..-> genial).

    Zu teuer. Klar, beide sind kostenlos solange man sie nicht komerziell verwendet. Aber sobald man doch mal ein Produkt verkaufen möchte, ist irrKlang die bessere Wahl. FMOD kostet in der Hobbyist-Version 100USD PRO PRODUKT, sprich 1 Game = 100USD Lizenzkosten. irrKlang kostet die Lizenz 65€ für alles was man je machen wird solange der Preis unter 20€ bleibt für das Produkt. Also bezahlbar und würde sich sogar lohnen.
    Will mans komplett kostenfrei nimmt man OpenAL ;).
    rya.



  • Scorcher24 schrieb:

    drakon schrieb:

    Also ich würde (ohne gross Irrklang zu kennen) fmod empfehlen. Ich bin sehr davon begeistert. Funktioniert sehr einfach und der Support ist auch toll. 🙂
    (habe mal einen Fehler gepostet und Ende der Woche gabs ein neues Build, wo der gefixt war..-> genial).

    Zu teuer. Klar, beide sind kostenlos solange man sie nicht komerziell verwendet. Aber sobald man doch mal ein Produkt verkaufen möchte, ist irrKlang die bessere Wahl. FMOD kostet in der Hobbyist-Version 100USD PRO PRODUKT, sprich 1 Game = 100USD Lizenzkosten. irrKlang kostet die Lizenz 65€ für alles was man je machen wird solange der Preis unter 20€ bleibt für das Produkt. Also bezahlbar und würde sich sogar lohnen.
    Will mans komplett kostenfrei nimmt man OpenAL ;).
    rya.

    lol. ihr fallt auf die ms-obfuscation rein. natürlich reichen bordmittel.



  • jetzt bin ich verwirrt! Also mal um das klarzustellen: Ich will nix verkaufen! Ich liebe die GNZ und ihre GPL und werde meine "Produkte", wenn man das denn so nennen darf, nicht verkaufen, sondern unter der GPL anbieten. Also was war jetzt mit OpenAL und Bordmitteln? Wie kann ich denn da Sounds abspielen? Benötigt der Benutzer dazu bestimmte Codecs?



  • Naums schrieb:

    jetzt bin ich verwirrt! Also mal um das klarzustellen: Ich will nix verkaufen!

    Wenn du nichts verkaufen willst, dann benutz einfach Irrklang.



  • ja, dann sag das doch!


Anmelden zum Antworten