![]() |
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 |
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: |
Re: Ich brauche ein Tutorial
|
Re: Ich brauche ein Tutorial
Zitat:
|
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. |
Re: Ich brauche ein Tutorial
Zitat:
|
Re: Ich brauche ein Tutorial
|
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. |
Re: Ich brauche ein Tutorial
Zitat:
|
Re: Ich brauche ein Tutorial
Zitat:
|
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: |
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:
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! |
Re: Ich brauche ein Tutorial
Zitat:
|
Re: Ich brauche ein Tutorial
könnt ihr mir denn helfen?
schreibt was ich falsch gemacht habe |
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:
|
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 :-) |
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! |
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! |
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 |
Re: Ich brauche ein Tutorial
Zitat:
Delphi-Quellcode:
:roll:
Listbox1.Items.add(ausgewaehlte_datei);
//edit: Schau dir mal ![]() |
Re: Ich brauche ein Tutorial
Zitat:
Delphi-Quellcode:
if OpenDialog1.Execute then
Listbox1.Items.Add(OpenDialog1.Filename); |
Re: Ich brauche ein Tutorial
guck mam, so habe ich es jetzt gemacht :
Delphi-Quellcode:
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?
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. |
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:
Und außerdem, wo öffnest Du den den Stream und definierst strs[N] ?
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; 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:
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.
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; Grüße von TOC! |
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!!!!!!! |
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:
Das wars schon.
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; |
Re: Ich brauche ein Tutorial
das funktioniert nicht :(
|
Re: Ich brauche ein Tutorial
Poste mal code....
|
Re: Ich brauche ein Tutorial
Hi!
Zitat:
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! |
Re: Ich brauche ein Tutorial
Liste der Anhänge anzeigen (Anzahl: 1)
Hier das Programm im Anhang
|
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