[gelöst] Datei verschieben.
Verfasst: 19. Oktober 2010 20:43
Hallo,
ist mein erster Beitrag hier und komme gleich mit einen Problem
Ich bin dabei eine Programm zu schreiben das mir MP3-Dateien in Ordner sortiert und dieses abhängig von den Metainfos
Im Folgenden Abschnitt tritt das Problem auf:
Der String bei artist ist leer obwohl die Meta-Tags in der Datei gesetzt sind.
Die MediaSource von MediaObject ist gesetzt habe ich mir auf der Konsole ausgeben lassen aber anscheinend werden die Meta-Tags nicht geladen.
Weiß irgendjemand wie sich das Problem beheben lässt?
ist mein erster Beitrag hier und komme gleich mit einen Problem
Ich bin dabei eine Programm zu schreiben das mir MP3-Dateien in Ordner sortiert und dieses abhängig von den Metainfos
Im Folgenden Abschnitt tritt das Problem auf:
Code: Alles auswählen
void Sorter::sortInterpret(const QDir &dir, const QTextEdit &area){
QList<QString> *notMoved = new QList<QString>();
for(int i = 0; i < dir.entryList().length(); i++){
actualFile->setCurrentSource(Phonon::MediaSource(dir.path() + "/" + dir.entryList().value(i)));
qDebug(actualFile->currentSource().fileName().toStdString().c_str());
if(dir.entryList().value(i).endsWith(".mp3")){
QMap<QString, QString> map = actualFile->metaData();
QString artist = map.value("ARTIST");
qDebug(artist.toStdString().c_str());
if(artist != 0 && artist != ""){
if(dir.mkdir(dir.path() + "\\" + artist))
//area.append("Created: " + dir.path() + "\\" + album + "\n");
QString temp = dir.path() + dir.entryList().value(i);
QFile f(dir.path() + dir.entryList().value(i));
QString neu = dir.path() + "\\" + artist + "\\" + dir.entryList().value(i);
if(f.rename(neu)){
//area.append(QString("Moved: " + temp + "\n"));
//area.append(neu );
}
}else {
//area.append("Unable to move: " + (*i).path() + "\n");
notMoved->append(dir.entryList().value(i));
}
}
}
delete notMoved;
}Die MediaSource von MediaObject ist gesetzt habe ich mir auf der Konsole ausgeben lassen aber anscheinend werden die Meta-Tags nicht geladen.
Weiß irgendjemand wie sich das Problem beheben lässt?