Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ich brauche ein Tutorial (https://www.delphipraxis.net/44157-ich-brauche-ein-tutorial.html)

nikluetke 14. Apr 2005 15:19


Ich brauche ein Tutorial
 
hallo, kann hier einer ein tutorial übers mp3-palyer selbstmachen besorgen oder selbstschreiben???
ich wollte nämlich mal son kleinen versuch mit einem mp3player starten, ich weiss aber nicht ganz genau wie ich es machen soll, daher die bitte um ein tutorial.

danke im vorraus.

LG NiK

Die Muhkuh 14. Apr 2005 15:22

Re: Ich brauche ein Tutorial
 
Hi,

such einfach mal hier im Forum (und schau mal in die Open-Source-Sparte). Dort findest du genug Zeugs, um dir was basteln zu können.

*MFG*

PS: Herzlich Willkommen in der DP :dp: :party:

Mirilin 14. Apr 2005 15:27

Re: Ich brauche ein Tutorial
 
:hi:

:shock:
Bei Google suchenmp3 player delphi

mfg Tobias :)

nikluetke 14. Apr 2005 16:54

Re: Ich brauche ein Tutorial
 
Zitat:

Zitat von Mirilin
:hi:

:shock:
Bei Google suchenmp3 player delphi

mfg Tobias :)

ich hab hier gefragt weil ich über google n scheiss finde.

Alexander 14. Apr 2005 16:56

Re: Ich brauche ein Tutorial
 
Ein Tutorial wirst du denke ich nicht direkt finden, aber hier wirst du vieles z.B. über die Bass-DLL, die dafür wunderbar geeignet ist, finden.
Such am besten mal direkt danach, hier schwirren einige Units rum, die das ganze sehr vereinfachen.

Michael_Bayer 14. Apr 2005 16:57

Re: Ich brauche ein Tutorial
 
Zitat:

Zitat von nikluetke
Zitat:

Zitat von Mirilin
:hi:

:shock:
Bei Google suchenmp3 player delphi

mfg Tobias :)

ich hab hier gefragt weil ich über google n scheiss finde.

Öhhh - das ALLERERSTE Ergebniss ist EXAKT was Du suchst... :roll:

Schuster 14. Apr 2005 16:59

Re: Ich brauche ein Tutorial
 
Schon wieder zu spät :-D

Die Google suche liefert eh eine super Anleitung :lol:

Siehe : Klick

nikluetke 14. Apr 2005 19:46

Re: Ich brauche ein Tutorial
 
eher gesagt ich suche ein tutorial zu die bass.dll
wie kann man in delphi einbauen das man mp3s öffnen kann und abspielen/stop/pause?
sowas meinte ich hauptsächlich.

malo 14. Apr 2005 19:49

Re: Ich brauche ein Tutorial
 
Zitat:

Zitat von nikluetke
eher gesagt ich suche ein tutorial zu die bass.dll
wie kann man in delphi einbauen das man mp3s öffnen kann und abspielen/stop/pause?
sowas meinte ich hauptsächlich.

Es gibt auch zum Beispiel eine Demo zur Bass.dll, damüssten die wichtigsten Funktionen drin sein (habs selbst noch nicht geprüft). Solltest du dir vielleicht mal angucken ;)

nikluetke 14. Apr 2005 20:25

Re: Ich brauche ein Tutorial
 
Zitat:

Zitat von malo
Zitat:

Zitat von nikluetke
eher gesagt ich suche ein tutorial zu die bass.dll
wie kann man in delphi einbauen das man mp3s öffnen kann und abspielen/stop/pause?
sowas meinte ich hauptsächlich.

Es gibt auch zum Beispiel eine Demo zur Bass.dll, damüssten die wichtigsten Funktionen drin sein (habs selbst noch nicht geprüft). Solltest du dir vielleicht mal angucken ;)

ja, habe ich ja shcon, aber wenn ich das in mein eigenes programm einbringen will, packt er die mp3's nicht in die listbox

gordon freeman 14. Apr 2005 20:37

Re: Ich brauche ein Tutorial
 
Dann zeig mal etwas Code... besonders den mit der Listbox.
Und ändere bitte den Titel des Threads, denn Hilfe oder ein Tutorial sucht hier jeder. Beschreib möglichst konkret dein Problem in der Überschrift.
(Du kannst den Titel ändern, indem du in deinem ersten Beitrag auf den "Edit-Button" klickst)

mfg, gordon

p.S. :party: Herzlich Willkommen in der DP :party:

nikluetke 15. Apr 2005 17:03

Re: Ich brauche ein Tutorial
 
Liste der Anhänge anzeigen (Anzahl: 1)
alsooooooo,
ich habe hier mal das project angehängt.
es ist jetzt blos das wichtigste dabei, guckts euch bitte an.
dabei ist:
  • MP3-Öffnen
  • Play-Funktion
  • Stop-Funktion

wie gesagt. blos das wichtigste.

danke im verraus

lg NiK


ps: den beitrag kann man nur inerhalb 1440 minuten oderso ändern, jetzt geht es nicht mehr :wall:

SORRY, habe vergessen die sachen anzuhängen.
jetzt sind sie da!

Hansa 15. Apr 2005 17:47

Re: Ich brauche ein Tutorial
 
Zitat:

Zitat von nikluetke
...ps: den beitrag kann man nur inerhalb 1440 minuten oderso ändern, jetzt geht es nicht mehr :wall:

Dann hänge deinen Schrott eben nochmals neu an. :mrgreen:

nikluetke 16. Apr 2005 17:07

Re: Ich brauche ein Tutorial
 
könnt ihr mir denn helfen?
schreibt was ich falsch gemacht habe

mimi 17. Apr 2005 10:38

Re: Ich brauche ein Tutorial
 
Liste der Anhänge anzeigen (Anzahl: 1)
nim lieber fmod:
du musst erst unter fmod.de die neuste lib downloaden und ihn dann eintragen.
dann kannst du z.b. meine classe nutzen:
(
bei midis gibst noch ein paar probleme wegen fmod:
1. die länge bei midi kann nicht ermittelt werden(auf grund des aufbaus: wurde mir gesagt)
2. die aufrufe isPlay dauern zu lange wenn du sie in einen Timer z.b. abrufen möchtes, es gibt dafür jedoch einen trick:
Interval des timers auf 3000 ms stellen, dann sollte es gehen.
so viel spaß damit: z.z. ist die unit noch im aufbau/entwicklung es sollen noch einiges hinzugefügt werden......
( ist im anahng)
hier ein beispiel für einen aufruf:
Delphi-Quellcode:
procedure TFrom1.PlayFile(FileName:String);
var
  sound:=TFmod.Create(Handle);
  // Der Sound wird geladen, und automatisc abgespielt
  // wenn du dies nicht möchtes einfach True in False umwandeln und fertig
  Sound.LoadMusic(FileName,True);
Zitat:

hänge solch überlange Quellcodes doch bitte als Anhang an dein Posting.
Da scrollt man sich ja die Flossen wund
Tutmirleid habe ich ganz vergessen *G*

Sharky 17. Apr 2005 11:13

Re: Ich brauche ein Tutorial
 
Hai mimi,

hänge solch überlange Quellcodes doch bitte als Anhang an dein Posting.
Da scrollt man sich ja die Flossen wund ;-)

Danke :-)

nikluetke 17. Apr 2005 18:21

Re: Ich brauche ein Tutorial
 
tut mir leid wenn ich so doof bin, aber sorry ich verstehe das nicht :(
kann mri vielleicht einer ein project machen wo alles schön erklärt ist?
sorry mimi ich checke das echt nicht

danke

ps: wenn man einen palyer mit fmod minimiert, hört er auf zu spielen, das ist bei der bass.dll nicht.

lg NiK!

TOC 19. Apr 2005 15:20

Re: Ich brauche ein Tutorial
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi Nikluetke!

Hab extra für Dich mal so´ne Art Mini-Tutorial zur Bass.dll gebastelt, aber, verrückt wie ich nun einmal bin, als Programm!

Im Programm findest Du folgendes erklärt:

Delphi 3.0-Version : Dynamisches laden und freigeben der Bass.dll

Beide Versionen (Delphi 3.0 und 7.0):

1.) Bass.dll initialisieren (Form.Create) und wieder freigeben (Form.Destroy)

2.) Musik-Datei als Stream öffnen (*.wav, *.mp3, *.mpa) oder als Tracker-Modul (*.mod, *.mtm, *.s3m, *.xm, *.it, *.mo3, *.umx), und wieder schließen

3.) Grundfunktionen: Start/Stop, Pause/Weiter,

4.) Anzeige der Länge der Datei in Stunden/Minuten/Sekunden oder, bei Modulen, Order und Row

5.) Anzeige der aktuellen Position während der Wiedergabe

6.) CallBack-Prozedur verwenden um das Ende des Musik-Stückes zu erkennen und die Position zu aktualisieren, inklusive besorgen der Sync-Handles und wieder freigeben

Ich habe alles möglichst genau und einfach dokumentiert und erkläre im SourceCode auch allgemeine Sachen.
All das findest Du in einem kleinen Programm das natürlich auch läuft! Ich glaube das ist besser als ein theoretisches Tutorial.

Ich hab Dir die Bass.chm mal in´s Archiev hineingelegt, das ist die offizielle Dokumentation zur Bass.dll (Kannst Du Dir im Internet-Explorer reinziehen). Da sind alle Funktionen der Bass.dll ausführlich erklärt (Ich hoffe du kannst English).

Grüße von TOC!

nikluetke 19. Apr 2005 16:44

Re: Ich brauche ein Tutorial
 
danke für das tutor, aber das kann ich auch noch.
mein problem ist folgendes: wenn ich eine musik datei öffne, dann soll sie in die TListBox. Dies funktionirt aber nicht, wie kriege ich dsa hin? Man soll die verschiedenen musik stücke naher auch auswählen können und abspielen können.

lg NiK

malo 19. Apr 2005 16:48

Re: Ich brauche ein Tutorial
 
Zitat:

Zitat von nikluetke
danke für das tutor, aber das kann ich auch noch.
mein problem ist folgendes: wenn ich eine musik datei öffne, dann soll sie in die TListBox. Dies funktionirt aber nicht, wie kriege ich dsa hin? Man soll die verschiedenen musik stücke naher auch auswählen können und abspielen können.

lg NiK

Was hälst du davon?
Delphi-Quellcode:
Listbox1.Items.add(ausgewaehlte_datei);
:roll:

//edit: Schau dir mal Delphi-Referenz durchsuchenTListBox an ;)

Luckie 19. Apr 2005 16:53

Re: Ich brauche ein Tutorial
 
Zitat:

Zitat von nikluetke
danke für das tutor, aber das kann ich auch noch.
mein problem ist folgendes: wenn ich eine musik datei öffne, dann soll sie in die TListBox. Dies funktionirt aber nicht, wie kriege ich dsa hin? Man soll die verschiedenen musik stücke naher auch auswählen können und abspielen können.

Also das hat ja nun gar nichts mit der Bass.dll zu tun.

Delphi-Quellcode:
if OpenDialog1.Execute then
  Listbox1.Items.Add(OpenDialog1.Filename);

nikluetke 20. Apr 2005 19:38

Re: Ich brauche ein Tutorial
 
guck mam, so habe ich es jetzt gemacht :
Delphi-Quellcode:
unit nik;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Bass, StdCtrls, ExtCtrls, Buttons, Menus;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    ListBox1: TListBox;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    mods: array[0..128] of HMUSIC;
    modc: Integer;
    sams: array[0..128] of HSAMPLE;
    samc: Integer;
    strs: array[0..128] of HSTREAM;
    strc: Integer;
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  Listbox1.Items.Add(OpenDialog1.Filename);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
   i: Integer;
begin
   i := ListBox1.ItemIndex;
   // Play the stream (continuing from current position)
   if i >= 0 then
      if not BASS_ChannelPlay(strs[i], False) then
end;

end.
wenn ich jetzt eine datei aus der listbox auswähle spielt er die nicht ab warum???? bzw wie kann ich amchen das er die abspielt?

TOC 22. Apr 2005 18:01

Re: Ich brauche ein Tutorial
 
Hi!

Ist das der ganze Code in Deiner Anwendung? Ich seh nit wie du die Bass.dll initialisierst!
Vielleicht liegts daran.

Füge doch mal folgendes in Dein Programm ein:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Wenn die Bass.dll nicht initalisiert werden konnte dann...
  If not Bass_Init(1,44100,0,Form1.Handle,Nil) then Begin
    // Fehlermeldung ausgeben
    ...
    ...
  End;
end;
Und außerdem, wo öffnest Du den den Stream und definierst strs[N] ?
In Deinem Button1Click schreibst Du ja NUR den Namen der Datei in die ListBox- sonst nix!
Bevor du Bass_ChannelPlay aufrufst mußt Du den Stream öffnen!

Probier mal folgendes:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
  HS:HStream;
begin
  if OpenDialog1.Execute then Begin
    // Stream öffnen
    HS:=Bass_StreamCreateFile(False,PChar(OpenDialog1.FileName),0,0,0);
    // Wenn es geklappt hat dann...
    If HS<>0 then Begin
      // Pfad und Name in ListBox schreiben
      Listbox1.Items.Add(OpenDialog1.Filename);
      // Händel des Streams merken
      strs[ListBox1.Items.Count-1]:=HS;
    End;
  End;
end;
Du könntest aber auch das Ereignis 'OnDoubleClick' der ListBox verwenden. Dann bräuchte der User nur doppelt auf einen Eintrag klicken um eine Datei abzuspielen.

Grüße von TOC!

nikluetke 22. Apr 2005 21:34

Re: Ich brauche ein Tutorial
 
TOC!!!! Groooooooßen dankeschööööön.
echt danke es funktioniert.
ich kann mich nicht mehr als bedanken :) :lol:

jetzt noch eine frage :oops:
wie kann ich das so machen das er die nacheinander abspielt, also das man nicht immer paly drücken muss?

danke

LG NiK!!!!!!!

mimi 23. Apr 2005 15:18

Re: Ich brauche ein Tutorial
 
@nikluetke
das kannst du abschalten indem du einen start parameter bei der init funktion hinzufügst.

Das geht bei meiner units gans einfach:
du hast eine playliste vom typ TStringList z.b. und jetzt muss du nur noch ein ereginis:
OnNewSound mit einer porcedure bestetzen und Sound.NewSound in einen Timer aufrufe und fertig.
und in dieser procedure kannst du dann bestimmen welche datei als nächste kommt.
Ich vermute mal du hast eine ListBox als playliste dann kannst du z.b. es so machen:
Delphi-Quellcode:
procedure Tform1.ChangeSoundFile;
begin
  if ListBox1.ItemIndex+1 <= ListBox1.items.Count-1 then begin
    ListBox1.ItemIndex:=ListBox1.ItemIndex+1 
    ListBox1Click(sender); // musst du noch anpassen.
  end;
end;
Das wars schon.

nikluetke 23. Apr 2005 21:13

Re: Ich brauche ein Tutorial
 
das funktioniert nicht :(

mimi 23. Apr 2005 21:27

Re: Ich brauche ein Tutorial
 
Poste mal code....

TOC 24. Apr 2005 14:10

Re: Ich brauche ein Tutorial
 
Hi!

Zitat:

Zitat von nikluetke
TOC!!!! Groooooooßen dankeschööööön.
echt danke es funktioniert.
ich kann mich nicht mehr als bedanken :) :lol:

jetzt noch eine frage :oops:
wie kann ich das so machen das er die nacheinander abspielt, also das man nicht immer paly drücken muss?

Ein einfaches 'Danke' reicht völlig :drunken: !

Schick uns mal als Anhang Dein Programm.

Ich würde Dir empfehlen nach dem Öffnen des Streams noch einen Sync auf das Stream-Ende zu setzen.
Dann wird am Ende des Stückes automatisch die CallBack-Funktion 'SyncProc' aufgerufen, und diese Funktion kann dann das nächste Stück abspielen. Schau nun bitte doch mal in das Mini-Tutoriol hinein das ich Dir gepostet habe, da kannst Du nachlesen (im QuellCode) wie das mit den Syncs und der SyncProc funktioniert.

Grüße von TOC!

nikluetke 25. Apr 2005 18:37

Re: Ich brauche ein Tutorial
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier das Programm im Anhang

Cicaro 28. Apr 2005 10:55

Re: Ich brauche ein Tutorial
 
Was ist denn eigentlich das Problem ? :gruebel: Die GUI ?
Denn der TMediaPlayer besitzt ja alle nötigen Funktionen zum Abspielen von mp3s.
Wo ich bis jetzt meine Probleme hatte, ist die PlayList. Wie kann man denn Files aus dem Explorer in die ListBox übertragen ? Aber das ist ja 'ne andere Geschichte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz