AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi mehrere MP3s abspielen

mehrere MP3s abspielen

Ein Thema von Hansa · begonnen am 14. Nov 2003 · letzter Beitrag vom 14. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2   
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

mehrere MP3s abspielen

  Alt 14. Nov 2003, 12:56
Hi,

wenn ich eine Liste von MP3s abspielen will, so spielt er mir nur das letzte. Gehe ich die Liste durch und füge ein showmessage ein, so spielt er das Lied solange, bis ich OK klicke, dann hört er auf und spielt das nächste. Deshalb wird ohne showmessage auch direkt das letzte gespielt. Wie kann man dieses Verhalten abstellen. ich mache nur folgendes in einer Schleife:

Delphi-Quellcode:
mediaplayer1.filenem := filename;
mediaplayer1.open;
mediaplayer1.play;
Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 18:35
Moin Hansa,

schau Dir dazu mal die Eigenschaft Notify und das OnNotify Event an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 18:47
Das gibt es im Mediaplayer nicht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 18:53
Moin Hansa,

Zitat von Hansa:
Das gibt es im Mediaplayer nicht.
Kennst Du nur die Eigenschaften, die im OI stehen?
Miniaturansicht angehängter Grafiken
propertiestmediaplayer.jpg  
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#5

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 18:59
Also wenn ich richtig verstanden habe hast du eine Schleife, die nach jedem Aufruf von Play sofort den nächsten Durchlauf macht, oder?
Ich würde nach dem Play- Aufruf eine While-Schleife machen (also innerhalb der PlaySchleife), die so lange läuft wie MediaPlayer.Position < MediaPlayer.Length ist. Innerhalb dieser Schleife kannst du eigentlich machen was du willst, würd ich sagen. Vielleicht die Messages abarbeiten, damit das Programm noch reagiert.
So dürfte deine PlaySchleife erst weiterlaufen wenn der Track zuende ist.

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 19:11
@Chris: was soll ich denn mit dem notify machen ?

@s-tefano: das wäre meine Methode, "Taste drücken, um zu verhidern, daß die Liste bis zum Ende durchlaufen wird, ohne abzuspielen. Kommt keine Musik mehr dann mit Taste weiter!"
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#7

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 19:47
Hmhmhm.... hast Recht, wäre eine Abwandlung deiner Message-Methode. Nur dass du keine Box wegklicken musst
Notify ist ein Event das ausgelöst wird wenn eine Aktion des Players abgeschlossen wurde. So kannst du sobald du ein Notify bekommst zum nächsten Lied weiterschalten. Deine Schleife kannst du damit dann nicht mehr benutzen, weil du ja auf ein Event reagieren musst.
Allerdings weiß ich nicht, bei welchen Ereignissen das Notify immer ausgelöst wird. Du kannst bspw auch ein Notify bekommen wenn sich die Position ändert oder der Player mit spielen angefangen hat; mit dem Notify kenne ich mich nicht gut genug aus.
Ich würds mit "unserer" Methode machen, da musst du weniger modifizieren

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 20:13
Das kann ja alles wohl nicht wahr sein. Da werden Fragen gestellt, wie man Spiele programmiert, CDs brennt oder kopiert. Aber keiner weiß auf einfache Weise einen Mediaplayer so zu programmieren, daß er problemlos mehr als ein Lied dpielt. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 20:20
Moin Hansa,

Zitat von Hansa:
@Chris: was soll ich denn mit dem notify machen ?
z.B. das, was in der Hilfe steht.
Auf True setzen, und im OnNotify Event warten, dass die letzte Methode, in Deinem Falle Play, das Event auslöst.
Probiert hab' ich das nicht, aber das ist der beschriebene Weg.

Zitat von Hansa:
Da werden Fragen gestellt, wie man Spiele programmiert, CDs brennt oder kopiert. Aber keiner weiß auf einfache Weise einen Mediaplayer so zu programmieren, daß er problemlos mehr als ein Lied dpielt
Liegt vielleicht daran, dass die meisten Player verwenden, die das können, und keinen eigenen schreiben wollen
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#10

Re: mehrere MP3s abspielen

  Alt 14. Nov 2003, 20:30
Tsestsestses
du hast doch jetzt schon 3 Lösungsansätze, von denen zwei mit Sicherheit funktionieren...
wenn dus ohne Schnörkel haben willst und etwas mehr Zeit hast, um sie ins Wälzen von Tutorials zu investieren, geh mal nach fmod.org, die haben da was im Angebot (free) mit dem du viel mehr viel bessere Sachen machen kannst als mit dem Mediaplayer. Damit kannst du bestimmt auch dein Problem lösen. Ich für meinen Teil bin da noch nicht durchgestiegen, aber du als etwas versierterer Entwickler wirst das wohl etwas schneller hinbekommen.
Meine Empfehlung an dich ist, entweder das mit der Messagebox bzw. Schleife zu machen, oder etwas mit dem Notify-Zeug zu experimentieren.
Wie ich aber in nem anderen Thread gelesen hab, hast du nicht mehr ganz so viel Zeit dafür, und wenns einfach nur laufen soll... dann nehm doch um Himmels willen die weniger elegante Lösung...
Dann setz noch ein Application.processmessages in die Schleife und fertig ist die Wurst.
Oder, wenn dus das mit der Schleife nicht willst, mach dir nen Timer mit dem selben Intervall in dem die PlayerPosition verändert wird; eine Millisekunde wars glaub ich. In den Timer setzt du nen Zähler, im OnTimer zählst du diesen hoch und vergleichst mit der PlayerPosition. Wenn das Ende erreicht ist, lädt der Timer das neue Musikstück, startet das Abspielen und setzt seinen Zähler wieder auf 0.
Ok, sauber ist das auch nicht, aber jetzt hast du vier Lösungsansätze und eine Alternative (fmod)...

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:42 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