Die erste Umwandlung ist erfolgreich, aber wenn ich die zweite Umwandlung tun oder die Konvertierungsfunktion ein zweites Mal aufrufen, wirft es die folgende Ausnahme:Wie zum Starten eines Prozesses mehrmals für mehrere Aufgaben
Ein Async Lesevorgang ist bereits im Stream gestartet ...
Wie geht man damit um und diese Funktion für mehrere Konvertierungen verwenden? Es funktioniert, wenn ich das Programm schließe und es erneut starte, aber nicht, wenn ich es ein zweites Mal in einem einzigen Durchlauf anrufe.
private void conversion(string cmd)
{
try
{
p = this.process1;
p.StartInfo.FileName = @"C:\ffmpegtool\bin\ffmpeg.exe";
p.StartInfo.Arguments = cmd;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.BeginOutputReadLine();
p.BeginErrorReadLine();
if (p.HasExited)
{
p.CancelErrorRead();
p.CancelOutputRead();
p.Close();
MessageBox.Show("Closed");
}
}
catch (Exception ex)
{
MessageBox.Show("Exception : \n" + ex.Message);
}
}
Es ist besser, wenn Sie genauer sein können. Wo in dem Code haben Sie die Ausnahme? – fruggiero
Wie man Datei-für-Datei lädt ... Das Problem ist, ich konvertiere eine Datei angenommene 34.mp4 zu 35.mp3 es funktioniert gut, aber wenn ich versuche, eine andere 21.mp4 zu 22.mp3 zu konvertieren, heißt es "Async read Betrieb wird bereits begonnen auf dem Strom –
es scheint, wie Sie die Stream richtig funktionieren schließen versuchen, mit einer 'using' Aussage –