Lire le contenu d'un dossier et de ses sous-dossiers avec TMediaPlayer
mighty_warrior
Messages postés123Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention 9 février 2010
-
8 mars 2008 à 10:54
mighty_warrior
Messages postés123Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention 9 février 2010
-
8 mars 2008 à 20:15
Bonjour,
Je voulais savoir de quel maniére lire le contenu d'un dossier et de ses sous-dossiers avec TMediaPlayer (un peu comme si on clik sur "lire tout" dans le dossier "Ma musique" sous win xp).
D'autre part y a t'il une façon d'y appliquer un random?
voilà merci bien.
A voir également:
Lire le contenu d'un dossier et de ses sous-dossiers avec TMediaPlayer
Ta question n'est pas claire : on ne sait pas si tu cherches à lister l'ensemble des fichiers wav ou si tu veux utiliser ton application par défaut dès que tu vas cliquer sur le dossier "Ma musique". Evidemment cela n'a rien avoir.
Pour le second cas, la MSDN est la première chose à voir. Si rien de concluant, regarder la base de registre.
Pour le premier cas
procedure FindFiles(FilesList: TStringList; StartDir, FileMask: string);
var
SR: TSearchRec;
DirList: TStringList;
IsFound: Boolean;
i: integer;
begin
if StartDir[length(StartDir)] <> '\' then
StartDir := StartDir + '\';
IsFound :=FindFirst(StartDir+FileMask, faAnyFile-faDirectory, SR) = 0;
while IsFound do begin
FilesList.Add(StartDir + SR.Name); IsFound :FindNext(SR) 0;
Application.ProcessMessages;
end;
FindClose(SR);
DirList := TStringList.Create; IsFound :FindFirst(StartDir+'*.*', faAnyFile, SR) 0;
while IsFound do begin
if ((SR.Attr and faDirectory) <> 0) and (SR.Name[1] <> '.') then
DirList.Add(StartDir + SR.Name); IsFound :FindNext(SR) 0;
Application.ProcessMessages;
end;
FindClose(SR);
for i := 0 to DirList.Count - 1 do
FindFiles(FilesList, DirList[i], FileMask);
DirList.Free;
end;
procedure List_Type_File(AFolder, Extension:String;AListBox:TListBox);
var
FilesList: TStringList;
begin
FilesList := TStringList.Create;
try
AListBox.Clear;
FindFiles(FilesList,AFolder,Extension);
AListBox.Items.Assign(FilesList);
finally
FilesList.Free;
end;
A appeler comme cela List_Type_File('C:\','Wav',ListBox1)
Pour le random : je vois pas ou est le probleme. Tu crée une StringList avec le nom des fichiers wav sélectionnés. Tu appelles un random et si la valeur renvoyée est supérieure au nombre d'Items-1, bien tu rappelles ta fonction, si la valeur n'est pas supérieure il t'est facile de récupérer le nom du fichier correspondant et de lancer ce fichier wav via un TMediaPlayer. J'ai pas regardé mais cela m'étonnerait qu'un tel exemple ne soit pas sur le site
mighty_warrior
Messages postés123Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention 9 février 2010 8 mars 2008 à 20:15
En fait ce que je cherche à obtenir c lire le contenu du dossier ma musique lorsque l'on click sur un Tbutton.
Est-on obliger de créer une liste pour celà?