Ich habe einen Code, der eine definierte Art von Audiodatei in Ordner überprüft und Konverter aufrufen, um das Format zu ändern. Jetzt, wenn die erste Datei übergeben wird, wird der Converter aufgerufen, und während die Datei gerade konvertiert wird, wird der Converter erneut für die zweite Datei aufgerufen. In diesem fühlte ich früher/später Prozess wird beendet und daher ich bekomme nur Datei als Ausgabe konvertiert. Der Code ist hier. Wie kann ich alle Dateien konvertieren?For-Schleife warten auf den Abschluss der aufgerufenen Methode
public void convertAudio(View v) {
final File pathanme = new File(Environment.getExternalStorageDirectory() + "/sdcard/test");
File files[] = pathanme.listFiles();
for (File f : files) {
if (f.getName().endsWith(".mp4")) {
String filename = f.getName().toLowerCase().toString();
System.out.println(filename);
File wavFile = new File(pathanme, filename);
IConvertCallback callback = new IConvertCallback() {
@Override
public void onSuccess(File convertedFile) {
Toast.makeText(NewMainActivity.this, "SUCCESS: " + convertedFile.getPath(), Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(Exception error) {
Toast.makeText(NewMainActivity.this, "ERROR: " + error.getMessage(), Toast.LENGTH_LONG).show();
}
};
Toast.makeText(this, "Converting audio file..." + filename, Toast.LENGTH_SHORT).show();
AndroidAudioConverter.with(this)
.setFile(wavFile)
.setFormat(AudioFormat.MP3)
.setCallback(callback)
.convert();
}
}
Wenn u sehen, dass es Erfolgsmeldung gegen Umwandlung ist und ich habe nie für Schleife dieses unter der Erwägung, dass, wenn ich nur eine Datei übergeben, i Erfolgsmeldung bekam. Bitte beraten.
Bitte kontaktieren Autor Bibliothek mehrere Dateien oder tun einige Semaphore (Grund multithreinding Sync-Konzept zu unterstützen), die 'convert()' Anruf nicht erlauben würde, ohne vorherigen Job zu beenden – Selvin
Leute sind so scharf darauf, Frage des Anfängers herabzustufen, anstatt zu stützen. Ich habe Angst, jetzt hier zu fragen. –
Die Leute sind so faul zu fragen, bevor Sie ein paar Nachforschungen anstellen ... – Selvin