AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi nächsten Song mittels OnNotify der TMediaPlayer Komponente
Thema durchsuchen
Ansicht
Themen-Optionen

nächsten Song mittels OnNotify der TMediaPlayer Komponente

Ein Thema von klomann3 · begonnen am 21. Feb 2005 · letzter Beitrag vom 22. Feb 2005
Antwort Antwort
klomann3

Registriert seit: 29. Aug 2004
16 Beiträge
 
#1

nächsten Song mittels OnNotify der TMediaPlayer Komponente

  Alt 21. Feb 2005, 20:42
Hallo,
Ich hätte da mal eine kleine Frage, ich bin dabei nen kleinen Media Player zu proggen, nichts großes.
Ich habe zunächst mal eine Playlist mit der ListBox Kompo. gemacht.
Funktioniert soweit auch wunderbar, aber wenn ein Lied zuende ist muss das nächste gespielt werden und da haperts bei mir, bisher hab ich das so gelöst, nur schmiert der Player ab wenn man dann einen Eintrag in der ListBox(Playlist) auswählt:

Delphi-Quellcode:
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
Listbox1.ItemIndex := Listbox1.ItemIndex + 1;
    OpenDialog1.FileName := ListBox1.Items[Listbox1.ItemIndex];
    MediaPlayer1.FileName := OpenDialog1.FileName;
    MediaPlayer1.Open;
    MediaPlayer1.Play;
    Label5.Caption := MediaPlayer1.FileName;
end;
Könnte mir da freundlicherweise mal jemand zur Hand gehen, und mir sagen wie ich das richtig progge?, Vielen Dank schonmal im Vorraus an alle die mir helfen und helfen wollen.
  Mit Zitat antworten Zitat
ft16a

Registriert seit: 19. Feb 2005
5 Beiträge
 
#2

Re: nächsten Song mittels OnNotify der TMediaPlayer Komponen

  Alt 22. Feb 2005, 08:57
Hmmm...Wozu jedesmal einen einen Open- DIALOG aufrufen ???
Wenn in der Liste schon Namen drinstehen...
...müßte es doch reichen, Filename gleich dem MediaPlayer zu übergeben...?!
Kleiner Test...Filenamen beim Create schon geladen...
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  {1. Item in Listbox}
  ListBox1.Items.Text :=
  'c:\windows\media\Jungle Fehler.wav' ;
  {2. Item in Listbox}
  ListBox1.Items.Add('c:\windows\media\Jungle Frage.wav') ;
  {3.Item in Listbox}
  ListBox1.Items.Add('c:\windows\media\Jungle Öffnen.wav');

  {1. Item- Wert laden und öffnen}
  MediaPlayer1.Filename := Listbox1.Items[0] ;
  MediaPlayer1.open ;
end;

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
    {Das übliche: Listbox- Index um 1 hochzählen, abspielen...}
    Listbox1.ItemIndex := Listbox1.ItemIndex + 1;
    Label5.Caption := Listbox1.Items[Listbox1.ItemIndex] ;
    MediaPlayer1.FileName := Listbox1.Items[Listbox1.ItemIndex] ;
    MediaPlayer1.Open;
    ...
   {Wenn höchster Listeneintrag erreicht ist...stoppen oder was anderes tun...}
    ...
end;
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: nächsten Song mittels OnNotify der TMediaPlayer Komponen

  Alt 22. Feb 2005, 09:00
Zitat von ft16a:
Hmmm...Wozu jedesmal einen einen Open- DIALOG aufrufen ???
Warum? Das hier:
Delphi-Quellcode:
OpenDialog1.FileName := ListBox1.Items[Listbox1.ItemIndex];
MediaPlayer1.FileName := OpenDialog1.FileName;
ruft AFAIR keinen OD auf. Er setzt nur den Dateinamen des OpenDialogs, um ihn anschließend von dort zu übernehmen. AFAIK wird ohne den Aufruf von Execute oder Show kein OpenDialog angezeigt.
Nichtsdestotrotz ist obiger Code Schwachfug

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#4

Re: nächsten Song mittels OnNotify der TMediaPlayer Komponen

  Alt 22. Feb 2005, 09:00
ähm ich würde mal überprüfgen, ob der index zulässig ist. nicht, dass du aus der listbox hinausschiesst
  Mit Zitat antworten Zitat
klomann3

Registriert seit: 29. Aug 2004
16 Beiträge
 
#5

Re: nächsten Song mittels OnNotify der TMediaPlayer Komponen

  Alt 22. Feb 2005, 13:28
irgendwie bin ich ein wenig verwirrt von den Antworten hier.
Also mit dem Code von ft16a kann ich irgendwie nichts anfangen.
Wieso soll ich denn beim FormCreate festlegen welche Datei geladen werden soll?, das wird doch über einen Button geregelt welche Playlist geladen werden soll, oder welche Datei man der Playlist hinzufügt.

@alcaeus:

Weshalb ist denn der Code Schwachfug?

@mumu:

Verstehe nicht ganz was du meinst, kannst ja vll mal nen Beispielcode beigeben, wäre nett.
  Mit Zitat antworten Zitat
klomann3

Registriert seit: 29. Aug 2004
16 Beiträge
 
#6

Re: nächsten Song mittels OnNotify der TMediaPlayer Komponen

  Alt 22. Feb 2005, 13:31
irgendwie bin ich ein wenig verwirrt von den Antworten hier.
Also mit dem Code von ft16a kann ich irgendwie nichts anfangen.
Wieso soll ich denn beim FormCreate festlegen welche Datei geladen werden soll?, das wird doch über einen Button geregelt welche Playlist geladen werden soll, oder welche Datei man der Playlist hinzufügt.

@alcaeus:

Weshalb ist denn der Code Schwachfug?

@mumu:

Verstehe nicht ganz was du meinst, kannst ja vll mal nen Beispielcode beigeben, wäre nett.

EDIT: Sorry das ich den Beitrag 2 mal abgeschickt habe, hatte Browser Probs.
  Mit Zitat antworten Zitat
ft16a

Registriert seit: 19. Feb 2005
5 Beiträge
 
#7

Re: nächsten Song mittels OnNotify der TMediaPlayer Komponen

  Alt 22. Feb 2005, 19:16
Zitat:
Also mit dem Code von ft16a kann ich irgendwie nichts anfangen.
Wieso soll ich denn beim FormCreate festlegen welche Datei geladen werden soll?, das wird doch über einen Button geregelt welche Playlist geladen werden soll, oder welche Datei man der Playlist hinzufügt.
War doch nur so ein kleiner Codeschnipsel zur Demonstration...Klar sollen der Dateien- Ladebefehl nicht fest in FormCreate stehen...sollte doch nur die Listbox mit den Namen von 3 Wav- Dateien füllen.
ft16a
  Mit Zitat antworten Zitat
Benutzerbild von retnyg
retnyg

Registriert seit: 11. Feb 2005
193 Beiträge
 
#8

Re: nächsten Song mittels OnNotify der TMediaPlayer Komponen

  Alt 22. Feb 2005, 19:25
bei meinem player http://www.delphipraxis.net/internal...ct.php?t=46893 habe ich einfach ne variable die die gesamtzahl aller lieder beinhaltet sowie eine für das aktuelle lied.
im onnotify wird dann anhand der position des mediaplayers überprüft ob das notify am anfang oder am ende aufgerufen wird.
anschliessend wird die routine playitem(aktuellenummer + 1) aufgerufen, die a) überprüft ob der listenindex übreschritten wird und b) falls nein, das passende lied abspielt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz