MP3 Player



  • Hallo,

    ich wollte mich in den nächsten Tagen mal daran setzen einen kleinen MP3-Player zu schreiben.

    Bin mir nicht ganz sicher ob das jetzt hier oder ins API/MFC Forum gehört - das wird man mir aber wohl noch freundlich mitteilen 😉

    MCISendString möchte ich eigentlich nicht benützen, da habe ich das Gefühl dass der Sound irgendwie komisch klingt..

    Jetzt ist die Frage - wie einen Decoder einbinden? Welchen? Woher nehmen und nicht stehlen?

    Ich hoffe ihr könnt mir da weiter helfen, THX schonmal im Voraus 🙂

    Zur Dokumentation: Englisch ist gut, Deutsch wäre besser^^



  • Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Schau dir mal XINE an.



  • angeblichanonym schrieb:

    MCISendString möchte ich eigentlich nicht benützen, da habe ich das Gefühl dass der Sound irgendwie komisch klingt..

    rofl

    Jetzt ist die Frage - wie einen Decoder einbinden? Welchen? Woher nehmen und nicht stehlen?

    Guck erstmal zu, dass du unkomprimierte .WAV Files abgespielt bekommst. Und zwar mit eigenem Code, denn das willst du ja wie es aussieht.
    Die ReadFile() Aufrufe die du dann machst um die unkomprimierten Daten aus einem .WAV zu lesen gegen nen MP3-Decoder zu tauschen, schaffst du dann auch noch - wobei man dir sicher gerne hier helfen wird.

    Was MP3 Decoder angeht:

    Wenn GPL für dich kein Hindernis ist: http://www.underbit.com/products/mad/

    Oder nimm Decoder Plugins für einen anderen Player, z.B. Winamp oder Apollo ( http://koti.welho.com/hylinen/apollo/ )

    ODER du könntest natürlich DirectShow verwenden. Damit kannst du alles abspielen wofür DirectShow Filter installiert sind, per Default also zumindest MP3 (und Filter für andere Formate sind verfügbar).
    Das wäre vermutlich die einfachste Variante.



  • Mit Irrklang ist das ein Kinderspiel.
    Mit mciSendString gilt das ebenfalls und da klingt auch nichts komisch. Der Vorteil davon wäre, dass dein Programm damit auf keine externen Bibliotheken angewiesen ist.
    Sogar noch einfacher ist es mit der TMediaPlayer-Komponente aus der VCL (C++Builder), die aber auch nur auf dem MCI aufbaut.

    Falls du "von Hand" Sounds abspielen willst, brauchst du dich nur mit den WinAPI-Funktionen waveOutOpen/waveOutClose, waveOut(Un-)PrepareHeader und waveOutWrite vertraut machen.


Anmelden zum Antworten