ced55957
Messages postés108Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention19 juin 2012
-
14 févr. 2006 à 00:58
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
16 févr. 2006 à 04:36
bonsoir les developpeur!!!!
Voila j'ai un petit souci!!!! j'ai créer un code qui importe mes musiques dans un listbox, je clique sur lecture la musique tourne des la musique finis ça passe a l'autre et je voudrais rajouter une fonction quand je clique sur un bouton la musioque d'aperes passe
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 14 févr. 2006 à 06:53
exemple :
procedure NextTrack;
var index := integer;
begin
index := listbox1.itemindex + 1;
if index = listbox1.count then listbox1.itemindex := 0
else
listbox1.itemindex := index
PlayTrack;
end;
procedure PrecTrack;
var index := integer;
begin
index := listbox1.itemindex - 1;
if index < 0 then listbox1.itemindex := listbox1.count - 1
else
listbox1.itemindex := index;
PlayTrack;
end;
procedure PlayTrack;
var track : string;
begin
track := listbox1.items[listbox1.itemindex];
if (FileExists(track)) and (track <> player.file) then begin
player.file := track;
player.load;
player.play;
end;
end;
<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
guigui265
Messages postés113Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention16 avril 2006 14 févr. 2006 à 09:07
lorsque je tape la procedure playtrack, pourquoi est ce que on m'affiche "impossible d'invoquer l'achèvement de code, du fait d'erreurs dans le code source"
guillaume
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 14 févr. 2006 à 10:46
Salut,
@ Guillaume, c'est parce que tu as des erreurs dans le code qui se trouve avant. Si c'est egalement les procedures de f0xi il te faut soit déclarer la procedure PlayTrack avant PrecTrack et NextTrack soit les référencer dans la section Interface de ton unité.
Car les procedures PrecTrack et NextTrack font appel à PlayTrack qui n'est pas encore déclarer.
Les procedures de f0xi ne sont qu'un exemple elles sont sorties de leurs contexte
Donc pour pouvoir les utiliser plainement il faut faire :
type TForm1 = class (TForm)
ListBox1 : TListBox;
procedure NextTrack;
procedure PrecTrack;
procedure PlayTrack;
private { Déclarations privées }
public { Déclarations publiques }
end;
Implementation
procedure TForm1.NextTrack;
var index : = integer;
begin index := listbox1.itemindex + 1;
if index = listbox1.count then listbox1.itemindex := 0
else
listbox1.itemindex : = index
PlayTrack;
end;
procedure TForm1.PrecTrack;
var index := integer;
begin
index : = listbox1.itemindex - 1;
if index < 0 then listbox1.itemindex := listbox1.count - 1
else
listbox1.itemindex : = index;
PlayTrack;
end;
procedure TForm1.PlayTrack;
var track : string;
begin track := listbox1.items[listbox1.itemindex];
if (FileExists(track)) and (track <> player.file) thenbegin player.file : = track;
player.load;
player.play;
end;
end;
@+
Cirec
Vous n’avez pas trouvé la réponse que vous recherchez ?
guigui265
Messages postés113Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention16 avril 2006 15 févr. 2006 à 08:54
Salut cirec, lorsque,dans la procedure playtrack, je met mediaplayer. il ne trouve pas file et load. et donc, ca ne marche pas, il les prend pour un identificateur non déclaré
@++
guillaume
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 15 févr. 2006 à 11:45
Salut Guillaume,
Il y a effectivement un petit soucis.
F0xi s'est trompé et moi j'ai bêtement recopier ses fautes
Donc voici un bout de code qui fonctionne (j'ai testé)
En bleu les ajouts En rouge les corrections
var frm_Player: Tfrm_Player;
FilePath : String; // dans cette variable tu mets le chemin des MP3 Ex: 'C:\Ma Musique\' ceci uniquement si le répertoire
courant ne correspond pas avec celui des MP3
procedure Tfrm_Player.NextTrack;
var index : integer;
begin index := listbox1.itemindex + 1;
if index = listbox1.count then listbox1.itemindex := 0
else
listbox1.itemindex : = index;
PlayTrack;
end;
procedure Tfrm_Player.PlayTrack;
var track : string;
begin track := listbox1.items[listbox1.itemindex];
Track := FilePath + Track ; //ceci uniquement si le répertoire courant ne correspond pas avec celui des MP3
if (FileExists(track)) and (track <> player.fileName) thenbegin player.fileName : = track;
Player.Open;
player.play;
end;
end;
procedure Tfrm_Player.PrecTrack;
var index : integer;
begin index := listbox1.itemindex - 1;
If index < 0 then listbox1.itemindex : = listbox1.count - 1
else listbox1.itemindex := index;
PlayTrack;
end;
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 16 févr. 2006 à 04:33
oui attention un, dans mon exemple plus haut j'ai bien marquer "EXEMPLE", un exemple qui fonctionne pour ListBox mais pas pour MediaPlayer ou pour tout autre API SON.
la procedure PlayTrack est donc a modifier en consequence selon si on utilise MP ou Bass ou FMod .
<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 16 févr. 2006 à 04:36
ah et aussi, je ne me suis pas tromper, je penser surtout que de logique vous auriez vus qu'il fallait remplacer le code
player.file := track;
player.load;
player.play;
par ce qu'il fallait. ^^
vus que j'utilise FMod ou Bass mais pas MediaPlayer ... je ne connais pas trop ce dernier, donc le code "erroné" est fait exprés pour montrer ce que doit contenir (a peu prés) la proc PlayTrack.
<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>