cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 2009
-
25 oct. 2007 à 12:54
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 2009
-
27 oct. 2007 à 12:05
Bonjour à toutes et à tous,
Voila j'utilise l'ActiveS TmsMediaPlayer.
Ses propriétés sont différentes du mediaplayer classique (play, stop, etc...).
Dans et avec ma procédure pour charger un fichier audio, j'utilise un Tlistbox, je charge une quantité de fichiers audio et le lecteur lit automatiquement le 1er fichier et ne continue pas la liste je ne sais pourquoi.
Voici le code :
procedure TFlecteur.BchargerClick(Sender: TObject);
begin
PlayList.clear;
OpenDialog1.Filter:= 'MP3 (*.mp3)|*.mp3|WAV (*.wav)|*.wav|WMA (*.wma)|*.wma|CDA (*.cda)|*.cda'; //Filtre de mp3 ou wav pour la playlist
OpenDialog1.InitialDir:=('C:\Documents and Settings\Dez\Mes documents\Ma musique');
if OpenDialog1.execute then
begin
mediaplayer.url := OpenDialog1.FileName;
playlist.Items.AddStrings(OpenDialog1.Files);
lbl_nbTitre.Caption:=IntToStr(PlayList.count)+' titres';
end;
end;
Par contre, je sauve cette liste dans un fichier et quand je charge ce fichier avec ce code :
procedure TFlecteur.BplaylistClick(Sender: TObject);
begin
Si ce composant fonctionne comme le TMediaPlayer, cela devrait fonctionner (Non tester : z'aime pas ce compo )
Procedure TFlecteur.LoadFromList_BtClick(Sender: TObject);
Begin
PlayList.clear;
OpenDialog1.Filter:='MP3 (*.mp3)|*.mp3|WAV (*.wav)|*.wav|WMA (*.wma)|*.wma|CDA (*.cda)| *.cda'; OpenDialog1.InitialDir:=('C:\Documents and Settings\Dez\Mes documents\Ma musique');
If OpenDialog1.execute then
Begin
Playlist.Items.Items.Text:=OpenDialog1.Files.Text;
Lbl_nbTitre.Caption:=IntToStr(PlayList.count)+' titres';
End;
End;
Procedure TFlecteur.LoadFromFile_BtClick(Sender: TObject);
Begin
OpenDialog1.Filter := 'Playlist (*.List)|*.List';
OpenDialog1.InitialDir:=('C:\Ma musique');
If OpenDialog1.Execute then
Begin
Playlist.Items.LoadFromFile(OpenDialog1.filename);
Lbl_nbTitre.Caption:=IntToStr(PlayList.count)+' titres';
End;
End;
Procedure TFlecteur.playlistDblClick(Sender: TObject);
Var
Index : integer;
Begin
If PlayList.Count=-1 Then Exit;
For Index:=0 To PlayList.Count-1 Do
Begin
MediaPlayer.Wait;
MediaPlayer.Enabled := True;
MediaPlayer.Close;
MediaPlayer.url :=PlayList.Items.Strings[Index];
MediaPlayer.Open;
MediaPlayer.Play;
End;
End;
Tu manques de régularité dans ton code CinCap : ca se voit au niveau des majuscules/minuscules que tu mets de façon aléatoire .
Donne un nom explicite à tes composants en particulier les boutons.
Ensuite le lancement de la lecture via un double click est une mauvaise idée. L'utilisateur va pas comprendre tout de suite la distinction entre simple et double clique et va dire quelques mots d'oiseaux, et ca va vite lui pomper l'air de se planter une fois sur deux entre le simple et le double.
Ensuite attention à ItemIndex = -1. "Ca ne veut rien dire"
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 20092 25 oct. 2007 à 17:12
Bonjour,
@ Francky23012301, merci avant tout d'avoir répondu, tu as raison au sujet du nom de tous mes composants, mais en cas de prototype, je ne les renommes pas tous, ceux que j'utilisai étaient renommés.
Ceci étant dit, les propriétés open, wait, play ne sont pas actives avec ce composant comme dit d'ailleurs dans ma demande initiale.
Dans ta proposition et dans la procédure "TFlecteur.LoadFromList_BtClick", tu indiques ceci :