mp3-Datei abspielen und Highscoreliste erstellen

Rund um die LCL und andere Komponenten
Antworten
Tessi1998
Beiträge: 16
Registriert: Sa 15. Mär 2014, 21:06

mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Tessi1998 »

Guten Abend alle zusammen!

Ich bin neu hier und kenne mich noch überhaupt nicht aus... Ich bin ja schonmal froh, dass ich überhaupt gefunden habe, wie ich einen eigenen Beitrag erstellen kann. Also bitte ich vielmals um Entschuldigung, falls ich hier ganz falsch bin.
Aber nun zu meiner Frage/meinen Fragen:

Ich erstelle gerade ein kleines Spiel mit Lazarus und habe nun schon den ganzen Tag gegoogelt und wie wild herumprobiert, wie ich eine mp3-Datei abspielen kann. Leider haben die Methoden, wie sie im Internet erklärt wurden, alle nicht funktioniert und ich bin nicht schlauer geworden...
Zudem wollte ich eine Highscore-Funktion einrichten: Also, dass man seinen Namen eintragen und seinen Highscore abspeichern kann und dass man diesen dann in einem extra Label (oder so) abrufen kann.

Wie man aus meinen Fragen bestimmt schon ablesen kann: Ich arbeite noch nicht lange mit Lazarus, brauche das Wissen aber, um im Unterricht in der Schule mitzukommen und den nächsten Test zu überstehen...
Ich würde mich also freuen, wenn mir jemand relativ simple erklären kann, wie ich meine Probleme lösen kann.

Vielen Dank und LG Tessi1998

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von m.fuchs »

Hallo und herzlich willkommen.

Deine Fragen sind leider etwas unspezifisch, deswegen gibt es auch nur sehr allgemeine Antworten.

Für die MP3-Wiedergabe kann dir das behilflich sein: http://wiki.freepascal.org/ACS/de

Die Highscores möchtest du sicherlich als Datei speichern. Dann schau mal hier: http://wiki.freepascal.org/File
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Tessi1998
Beiträge: 16
Registriert: Sa 15. Mär 2014, 21:06

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Tessi1998 »

Erstmal dankee an m.fuchs für die verlinkten Internetseiten ;)

Allerdings hab ich dazu jetzt auch ne Frage: Dieses ACS muss man sich ja runterladen...
Funktioniert es dann trotzdem, wenn ich mein Spiel zu einem späteren Zeitpunkt auf einem anderen PC, der dieses nicht hat, abspiele, oder kommt dann wieder nur das manuelle >beep<???

Und naja, das mit dem Highscore verstehe ich i-wie immer noch nicht ganz... Ich hab mir alles durchgelesen und versucht auf mein Programm zu übertragen, aber es geschieht nichts dergleichen, wie ich gehofft hatte...
Ich wollte das wie folgt machen: Man spielt das Spiel und wenn der Timer nach 35sec abgelaufen ist, erscheint in der Mitte der Anwendung ein Label mit der erreichten Gesamtpunktzahl. So weit, so gut.
Das nächste, was ich programmieren wollte: Falls die Punkte, größer als der bisherige Highscore sind, soll ein Label (kein Showmessage) erscheinen, auf dem steht: New Highscore. Problem: wie mache ich ihm klar, was der bisherige Highscore ist??

Wenn dies funktionieren würde, mache ich mich an die Programmierung einer richtigen Highscore-Liste ran. Also mit Name eintragen und Punktestand speichern. Falls ich das hinbekomm ;)

LG Tessi1998

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Christian »

ACS wird ja in deine Anwendung einkompiliert. Das was du dir runterlädst ist ja nur der Quellcode. So wie bei Lazarus das brauchst du ja auf nderen PCs später auch nicht um deine Anwendung auszuführen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Tessi1998
Beiträge: 16
Registriert: Sa 15. Mär 2014, 21:06

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Tessi1998 »

Ok, dankeschöön :wink:

Tessi1998
Beiträge: 16
Registriert: Sa 15. Mär 2014, 21:06

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Tessi1998 »

Neues Problem...

Ich bin am Verzweifeln! Wo und wie soll ich acs downloaden??? Ich bin auf alle Links gegangen, bei denen man angeblich zum acs-download kommt, aber i-wie konnte man sich auf den Seiten nichts herunterladen :?:
Ich versteh das nicht... SO schwer kann das doch nicht sein, oder?

Bitte dringend um Hilfe.
LG Tessi1998

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Christian »

Das sind SVN Repositores

svn co svn://svn.code.sf.net/p/lazarus-ccr/svn/components/acs
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Michl »

Christian hat geschrieben:Das sind SVN Repositores

svn co svn://svn.code.sf.net/p/lazarus-ccr/svn/components/acs
...hatte ich heute mal in Lazarus - Trunc installiert, ist nicht out of the box in Win64 Laz32bit-Trunc FPC 2.7.1-Trunc nutzbar. Zuerst fehlten div. Pfade, was ich lösen konnte. Allerdings greift ACS auf eine irgendwasDX.dll zurück, die nicht auf meinem Rechner installiert (konnte ich zumindest nirgends per Suche finden) ist. Habs jetzt wieder entfernt, wenn ich Zeit hab, test ich heute noch mal ein Paar andere Möglichkeiten.

Das aktuelle Laz. 1.2 mit ACS hatte ich nicht getestet, evtl. treten die Pfad-Probleme dort nicht auf.
Zuletzt geändert von Michl am So 16. Mär 2014, 20:44, insgesamt 1-mal geändert.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Michl »

Sehr schön, UOS http://wiki.lazarus.freepascal.org/uos per TortoiseSVN von http://github.com/fredvs/uos/ geladen. Dort beinhaltetes Project SimplePlayer geladen und gestartet. Voreinstellungen bestätigt und ein beliebiges MP3 ausgewählt - funktioniert problemlos - das freut!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Michl »

Folgende Möglichkeit hat eben auch auf Anhieb (Bass.dll) funktioniert:

- neues Projekt erstellt
- von http://www.un4seen.com/ habe ich mir die Bass24.zip runtergeladen (beinhaltet bass.dll und ein Verzeichnis "delphi")
- Button auf Form
- zu uses "bass" zugefügt
- in Events OnCreate und OnClose der Form und OnClick des Buttons folgenden Code eingefügt:

Code: Alles auswählen

procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  BASS_Free;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  MP3Stream: HSTREAM;
  FileName: String;
begin
  FileName:='h-milch_session_041_djbaq_2013_05_31(1).mp3';
  MP3Stream:=BASS_StreamCreateFile(False, pchar(FileName), 0, 0, 0 {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
  if MP3Stream <> 0 then
    BASS_ChannelPlay(MP3Stream, False);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  if Hi(BASS_GetVersion) <> BASSVERSION then begin
    ShowMessage('An incorrect version of BASS.DLL was loaded');
    Halt;
  end;
 
  if not BASS_Init(-1, 44100, 0, Handle, nil) then begin
    ShowMessage('Error initializing audio!');
    Halt;
  end;
end; 
Recht einfach und funktionierte auf Anhieb, find ich gut!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Tessi1998
Beiträge: 16
Registriert: Sa 15. Mär 2014, 21:06

Re: mp3-Datei abspielen und Highscoreliste erstellen

Beitrag von Tessi1998 »

Danke an alle, die mir geantwortet haben :wink:

Ich habe es jetz endlich hinbekomm! ^^

Antworten