| Autor |
Nachricht |
Gausi
       

Beiträge: 7412 Erhaltene Danke: 16 Dabei seit: 22.11.2002 Wohnort: Düsseldorf
Win XP, Win 7 D7 PE, RAD Studio 2009 Professional
|
Ein Tutorial zur Programmierung eines Mp3-Players. Schritt für Schritt wird erläutert, wie man einen Mp3-Player halbwegs sauber aufbauen kann, so dass der Code übersichtlich und erweiterbar bleibt.
Es richtet sich an Delphi-Programmierer, die schon etwas Erfahrung mit Delphi gesammelt haben und sich nun an ein neues, etwas größeres Projekt wagen wollen.
Getestet wurde es mit Delphi 7 Personal und Turbo Delphi Explorer 2006.
Auf folgende Punkte wird im Tutorial eingegangen:
- Informationen in Audiodateien. Was stecken in mp3- und anderen Dateien für Informationen drin und wie kann man sie auslesen und für einen Player passend zusammenfassen?
- Abspielen mit der bass.dll. Wie spielt man eine Datei mit der bass.dll ab - grundlegende Steuerung des Players.
- Events. Wie bekommt man mit, wann ein Lied zu Ende ist, und wie reagiert man darauf?
- Das Plugin-System der bass.dll. Hinzufügen weitere Formate wie wma, ape, flac und einige weitere.
- Eine Playlist. Wie kann man eine Playlist bauen, die von vorne bis hinten durchläuft?
- Visualisierung. Wie kann man diese auf- und abhüpfenden Balken bekommen, die man überall sieht?
Nach jedem Kapitel wird ein kleines Programm fortgeführt, was das Ganze in der Praxis zeigt. Nach und nach entseht so ein kleiner aber feiner Player, den man durchaus schon benutzen kann. Am Ende des Tutorials sieht der Player dann in etwa so aus:
Das Tutorial kann auf meiner Webseite online gelesen werden ( www.gausi.de/delphi/memp) oder als PDF heruntergeladen werden. Zusätzlich gibt es ein zip-Archiv mit dem Quellcode.
Dieses Tutorial hat beim Tutorial-Wettbewerb 2007 von Delphi-Treff.de mitgemacht und ist da unter die Top 10 gekommen. (  )
Edit: 14.05.2008: Anhänge aktualisiert auf Version 2.4 der Bass.dll
Einloggen, um Attachments anzusehen!
_________________ Oel ngati kameie.
Zuletzt bearbeitet von Gausi am Mi 14.05.08 20:27, insgesamt 1-mal bearbeitet
|

|
|
Christian V.
       
Beiträge: 311 Dabei seit: 20.01.2005 Wohnort: Gipf-Oberfrick
Win Xp Prof Turbo Delphi 2005
|
Danke vielmals für dieses Tutorial und deine Mühen. Das werde ich sicher in den nächsten Ferien durcharbeiten.
_________________ Hardware runs the world, software controls the hardware, code generates software - Have You already coded today?
|

|
|
Yogu
       
Beiträge: 2031 Erhaltene Danke: 19 Dabei seit: 23.02.2007
Windows XP Home SP3 Visual C# 2010 Express
|
Ah, jetzt ist es da
Ich habe schon seit längerer Zeit eine Version des Tutorials, und es war wirklich einfach und informativ
Ich kann allen, die gerade überlegen, ob sie das Tutorial durchmachen wollen, nur empfehlen dies zu tun. Ihr werdet am Ende den Player so gut verstanden haben, um ihn nach eurem Wunsch zu erweitertn bzw. einen komplett eigenen Player zu schreiben, der genau diese Features hat.
Grüße,
Yogu
|

|
|
Gausi
       

(Threadstarter)
Beiträge: 7412 Erhaltene Danke: 16 Dabei seit: 22.11.2002 Wohnort: Düsseldorf
Win XP, Win 7 D7 PE, RAD Studio 2009 Professional
|
Vor einiger Zeit kam eine neue Version der Bass.dll (2.4) raus. Wer es noch nicht gemerkt hat - mit der neuen ließ sich MeMP nicht compilieren, da einige Funktionen umbenannt und/oder erweitert wurden. Und wer das dann hinbekommen hat, wird sich über die nicht funktionierende Lautstärke gewundert haben. Das wurde jetzt alles behoben - jetzt lässt es sich nicht mit der alten (2.3) kompilieren.
Ich hoffe, ich habe dabei nichts vergessen und Webseite, PDF und Code sind konsistent. 
_________________ Oel ngati kameie.
|

|
|
HHDS
       
Beiträge: 18 Dabei seit: 13.05.2008
Win 98, Win XP Home Delphi 7 Personal
|
Also Ich hab ir mal das komplette MeMP Tutorial downloaded und hab einen kleinen Feheler entdeckt bzw. ich hab etwas versteckt was ich nicht ganz begreife: Die Projekt-Datei lässt sich nicht kompilieren, weil die dcu datei fehlt. Das Tut find ich nicht ganz verständlich, aber naja ok.
|

|
|
Gausi
       

(Threadstarter)
Beiträge: 7412 Erhaltene Danke: 16 Dabei seit: 22.11.2002 Wohnort: Düsseldorf
Win XP, Win 7 D7 PE, RAD Studio 2009 Professional
|
Na...da stellt sich die Frage welche dcu fehlt. Ich tippe einfach mal auf Mp3FileUtils.dcu oder ATL_WMAFile.dcu. Das sind zwei Zusatz-Units, die man sich zusätzlich runterladen muss und am einfachsten in den Projektordner reinkopiert. Evtl. muss man die beiden Units auch erst öffnen und einmal kompilieren, dann sind die Dcus da.
_________________ Oel ngati kameie.
|

|
|
j.klugmann
        
Beiträge: 1437 Erhaltene Danke: 1 Dabei seit: 31.12.2007 Wohnort: Debian
Win 7,Win XP, Ubuntu 8.10, Debian Delphi 7 Enterprise,Delphi 3 Prof.,Delphi 7 Pers., Python 3.0(PyWin, Vim),C/C++ ( VS 2008 ), Eiffel, DirectX + OpenGl
|
wenn ich mit der memp klasse angefangen habe und ich versuche zustarten dann ziegt er mir hunderte fehler an.er kennt proceduren und funktionen nicht.jetzt nehme ich an das ich eine unit einbinden
muss oder eine dll,aber welche?
PS:Sonst finde ich das tut sher gut. 
_________________ Buddelt im Sandkasten...
Achtung:Signatur Beef: Regan klaut Signaturen!
|

|
|
Yogu
       
Beiträge: 2031 Erhaltene Danke: 19 Dabei seit: 23.02.2007
Windows XP Home SP3 Visual C# 2010 Express
|
j.klugmann hat folgendes geschrieben: | jetzt nehme ich an das ich eine unit einbinden
muss oder eine dll,aber welche?  |
Hast du MP3FileUtils eingebunden? Diese Unit beinhaltet alles, was mit den ID3-Tags zusammenhängt. Sollten Fehler bei der Wiedergabe etc. auftreten, hast du wahrscheinlich bass vergessen.
|

|
|
j.klugmann
        
Beiträge: 1437 Erhaltene Danke: 1 Dabei seit: 31.12.2007 Wohnort: Debian
Win 7,Win XP, Ubuntu 8.10, Debian Delphi 7 Enterprise,Delphi 3 Prof.,Delphi 7 Pers., Python 3.0(PyWin, Vim),C/C++ ( VS 2008 ), Eiffel, DirectX + OpenGl
|
nein hat sich erledigt dafür habe ich neues problem:
-ich habe jetzt alles deklariert von der memp-klasse und ein paar features eingebaut.
Aber jetzt kann ich nichts mehr abspielen da kommt ne zugriffsverletzung.
was jetzt?Bin ratlos.
_________________ Buddelt im Sandkasten...
Achtung:Signatur Beef: Regan klaut Signaturen!
|

|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
|
|