AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Wenn Lied fertig ist neues Abspielen.
Thema durchsuchen
Ansicht
Themen-Optionen

Wenn Lied fertig ist neues Abspielen.

Ein Thema von ferby · begonnen am 6. Dez 2004 · letzter Beitrag vom 22. Nov 2006
Antwort Antwort
Seite 1 von 2  1 2      
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Wenn Lied fertig ist neues Abspielen.

  Alt 6. Dez 2004, 16:23
Hallo,

Ich habe in einer Datei 10 midis (1.mid, 2.mid ...) und starte sie wenn ich auf einen Button klick so:

Delphi-Quellcode:
    randomize;
    y:=random(9) + 1;
    Mediaplayer.FileName := 'midi/' + inttostr(y) + '.mid';
    Mediaplayer.Open;
    Mediaplayer.Play;
Funktioniert auch, aber ich möchte jetzt, wenn ein midi zu ende ist das ein neues automatisch per zufall gespielt wird, wie mach ich das?


Ferby
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#2

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 6. Dez 2004, 16:31
Sieh dir mal Delphi-Referenz durchsuchenOnNotify an(sofern du den TMediaplayer nutzt)

OnNotify wird immer dann ausgeführt, wenn der Track zu ende gespielt wurde
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 6. Dez 2004, 16:48
Hallo,

Ich habe jetzt follgendes gemacht:

Delphi-Quellcode:
procedure TForm1.MediaPlayerNotify(Sender: TObject);
var
y:byte;
begin
  randomize;
  y:=random(9) + 1;
  Mediaplayer.FileName := 'midi/' + inttostr(y) + '.mid';
  Mediaplayer.Play;
end;
Jetzt wird das Midi was als ersters per zufall gewählt wurde dauernt wiederholt???
Das verstehe ich nicht, warum wird kein anderes midi gewählt???

Wenn ich die procedure TForm1.MediaPlayerNotify weglasse dann wird dan kommt nach den zufalls midi nichts mehr, wenn ich sie mache wird das selbe midi dauernt wiederholt, wissoooooo????
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#4

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 6. Dez 2004, 16:50
muss da nicht ein MediaPlayer.Load oder so dazwischen?

oder Open?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#5

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 6. Dez 2004, 16:51
Hi,

habe den Fehler gefunden, muss nochmal:

Mediaplayer.Open; habe gedacht das brauch ich nicht mehr!
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 12. Nov 2006, 20:32
Hallo,

Ich habe nochmal eine ähnliche Frage, diesmal verzichte ich aber aus bestimmten Gründen auf den TMediaPlayer.

Ich Spiele Midis so ab und stoppe sie.

Delphi-Quellcode:
procedure TForm1.PlayClick(Sender: TObject);
begin
  MCISendString(PChar('Play ' + Edit_FileName.Text), nil, 0, 0);
end;

procedure TForm1.StopClick(Sender: TObject);
begin
  MCISendString(PChar('Stop ' + Edit_FileName.Text), nil, 0, 0);
end;

Das funktioniert super.

Mein Problem:
Ich möchte, wenn das Midi zu Ende ist, das die Prozedur PlayClick ausgelöst wird.
Edit_FileName.Text kann sich in der Zwischenzeit geändert haben.
Sprich wenn das aktuelle Midi fertig ist, soll das Midi abgespielt werden,
das jetzt in Edit_FileName.Text drin steht.
Wie mach ich das, ich nehme an wieder mit Notify, ich habe aber keine Ahnung wie ich das genauer mache.....



Und noch eine zweite Frage, muss ich die prozedur StopClick auch dann auslösen,
wenn das Midi zu ende ist, oder nicht?
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#7

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 12. Nov 2006, 20:35
einfach
PlayClick(Sender); und fertig

PS: (jetzt auch den zweiten Teil der Frage gelesen)
wie genau man mitbekommt dass das Midi zuende abgespielt ist kann ich die auch nicht sagen.
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#8

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 12. Nov 2006, 20:42
Hi,

schön das du dir wenigstens die Mühe machst einen Teil der Frage zu lesen^^
Aber diesen Teil habe ich auch schon alleine geschafft.

Zitat:
wie genau man mitbekommt dass das Midi zuende abgespielt ist kann ich die auch nicht sagen
Ich bin mir zimlich sicher das das mit Notify und Handels geht,
allerdings kenn ich mich mit Handels nicht so wirklich aus.......
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#9

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 12. Nov 2006, 20:45
Nunja, der Aufruf des ButtonClicks wird ja auch in einem TNotifyEvent gespeichert...
Und ich dachte du würdest dich darauf beziehen^^
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#10

Re: Wenn Lied fertig ist neues Abspielen.

  Alt 12. Nov 2006, 20:48
Zitat:
Nunja, der Aufruf des ButtonClicks wird ja auch in einem TNotifyEvent gespeichert...

Also ich versteh jetzt nicht ganz was das mit meinem Problem zu tun hat...... ??
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:48 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