Bonjour � tous,
J'ai un petit souci, actuellement je suis en train de d�velopper une petite application pour lire des mp3, cd et autres.
Pour cela, j'ai utilis� la biblioth�que FMOD.
Voila ma fonction qui me sert � charger mes fichiers mp3 � partir de l'adresse d'un dossier.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| void TForm1::ChargerRep(AnsiString Dossier)
{
AnsiString Filtre = Dossier + "\\*.*";
TSearchRec sr;
int done;
done = FindFirst(Filtre, faAnyFile, sr);
while(!done)
{
AnsiString Ext; //vérification extension...
int PosPoint = sr.Name.LastDelimiter(".");
if(PosPoint == 0 ) //Dossier
{
ChargerRep(Dossier + "\\"+sr.Name);
}
Ext = sr.Name.SubString(PosPoint+1,sr.Name.Length()-PosPoint).LowerCase();
if(Ext=="mp3" || Ext=="wma") //Fichier
{
AnsiString Fichier = Dossier + "\\"+sr.Name;
FSOUND_STREAM *mp3;
mp3 = FSOUND_Stream_Open(Fichier.c_str(), FSOUND_NORMAL, 0,0);
FSOUND_SAMPLE *Mp3Info;
Mp3Info = FSOUND_Stream_GetSample(mp3);
if(FSOUND_Sample_GetName(Mp3Info) != "")
{
Liste->Items->Add(FSOUND_Sample_GetName(Mp3Info));
TabMp3[Liste->Count-1]=Fichier;
}
}
done = FindNext(sr); //balayage de tout le dossier
}
} |
Liste est une ListBox qui me sert de playlist.
TabMp3 est un map :
std::map<int,AnsiString>TabMp3;
Mon probl�me est que lorsque je r�cup�re les informations du mp3 avec FSOUND_Sample_GetName dans certain cas j'obtiens des r�sultats bizar (comme des caract�res inconnus, ect)
Donc je voulais vous demandez si vous aviez une autre m�thode pour faire ce genre de code.
Merci d'avance pour votre r�ponse.
Cordialement.
Partager