Mp3 -Player



  • So Leute ich möchte innerhalb eines Jahres mal einen Musikplayer schreiben,
    zunächst soll einmal MP3 abgespielt werden können, später noch anderes.
    Als Sprache stelle ich mir wenn mgl Java vor (falls ich damit Probleme kriegen werde sagt bescheid)

    Nun die Frage:
    Da ich mich noch nicht gut in der Theorie auskenne:
    Welche Themen muss ich mir anschauen wenn ich zum Ziel will?
    Das ganze soll ein kleines Hobby-Projekt für mich werden das unter Linux laufen soll (falls das von belang ist) falls systemfunktionen nötig werden.

    So also alles was ich von euch erwarte sind ein paar stichwörter mit denen ich mich auseinandersetzen sollte=)



  • Auf jeden Fall würd ich dir Vorschlagen nach Bibliotheken zum Abspielen von Musik zu suchen. Ich denke, es wird auch einige geben die mit MP3, OGG etc. klar kommen. - Die Doku der Bibliothek lesen und dann brauchst du es eigentlich nur noch umsetzen.

    Wäre nur mein Weg, den ich gehen würde, denn das Auto muss nicht erneut erfunden werden, dass gibts schon.

    Ich gehe davon aus, dass du Java soweit beherscht. 😉



  • eines meiner erklärten ziele ist auf jeden fall auch den aufbau der musikdateien zu verstehen

    ich schlag mich im moment noch mit den mp3 headern und tags rum und versuche auch zu verstehen was sachen wie sampling rate und co sind,
    eine lib zu benutzen wäre sicherlich im endeffekt effizienter, aber ich nehm mir kein jahr um ne gui um ne lib herum zu basteln es soll also ziemlich alles selbst geschrieben werden

    aber da müsste ich halt schlau werden wie musik dateien eig codiert werden und wie die formate aufgebaut sind,
    bei mp3 bin ich grad dabei einige experimente zu machen bin aber im moment wegen einiger anderer sachen zu beschäftigt um alles zu testen was ich wollte



  • Cooles Ziel 👍 Wird aber viel Arbeit verlangen, und du wirst viel Mathe zum Schlucken haben, aber in 1 Jahr sicher machbar.

    Du gehst die Sache allerdings falsch ran, wenn du jetzt versuchen willst, einfach eine MP3-Datei einzulesen. Du wirst auf Zig Sackgassen stossen und eine Million Sachen nicht verstehen (oder du wirst einfach nur Code abschreiben ohne wirklich zu verstehen was du tust). Wird dich furchtbar frustrieren. Wenn du das MP3-Format dekodieren willst, ist vor allem Digitale Signalverarbeitung und -kompression fuer dich interessant. Du wirst nicht drum rum kommen, die Grundlagen zu verstehen. Und das lohnt sich dann auch wirklich, den mit dem gleichen Wissen verstehst du dann auch viele andere Audio (und Video!) Formate.

    Mein Prof an der Uni schwoerte damals auf dieses Buch:

    A DSP Primer | ISBN: 0805316841

    Hat alle notwendigen Grundlagen, konzentriert sich speziell auf die Audio-Signalverarbeitung und ist dabei nicht allzu dick und nicht zu mathematisch. Allerdings gibts das nur auf Englisch.

    Gibt aber auch zig andere Buecher zum Thema. Geh also mal in die Bibliothek oder such mit Google. Wenn du dann fit bist mit Begriffen wie FFT, Spektrum, Abtastfrequenz, ..., kannst du dich speziell an das MP3-Format heranwagen.



  • eine letzte frage bevor ich mich ans werkeln mache:

    kann ich mit java das ganze überhaupt verwirklichen?
    Im Moment kann ich mir nicht vorstellen wie das klappen sollte... ^^



  • Als direkte Java Lösung gibt es das Java Media Framework um Sound abzuspielen. Ich hatte mal gehört das es nicht ganz so ausgereift ist, aber das war glaube ich im Zusammenhang mit Video playback.

    Ansonsten gibt es auch Java Bindings für andere Soundbibliotheken (z.B. FMOD: http://jerome.jouvie.free.fr/index.php oder OpenAL: https://joal.dev.java.net/). Die kommen dann allerdings mit nativen Bibliotheken die über jni aufgerufen werden.


Anmelden zum Antworten