package com.tlabs.speechalyzer; import java.util.Iterator; import org.apache.log4j.Logger; import com.tlabs.speechalyzer.classifier.ClassificationResult; import com.tlabs.speechalyzer.classifier.IClassifier; import com.tlabs.speechalyzer.featureextract.IExtractor; /** * @version 1.0 * @author Felix Burkhardt */ public class JudgeAllThread extends Thread { AudioFileManager _afm; IClassifier _classifier; IExtractor _extractor; // boolean _extract = true; Logger _logger; boolean _isRunning=false; public JudgeAllThread(AudioFileManager afm, IClassifier classifier, IExtractor extractor) { _logger = Logger.getLogger("com.tlabs.speechalyzer.JudgeAllThread"); _afm = afm; _classifier = classifier; _extractor = extractor; // _extract = extract; } /** * called by thread.start(); */ public void run() { _isRunning = true; for (Iterator<RecFile> iter = _afm.getAudioFiles().iterator(); iter .hasNext();) { RecFile recFile = (RecFile) iter.next(); _extractor .extractFeatures(recFile._file.getAbsolutePath()); ClassificationResult cr = _classifier.classify(); // logger.info("Modus: judge file " + filePath + " emotionally: " // + cr.toString()); recFile.storePred(cr); _afm.updateAudioFile(recFile._path); } System.out.println("finished judging all files!"); _isRunning=false; } public boolean isRunning() { return _isRunning; } public void destroy() { } }