Ich habe es geschafft, eine WAV-Datei in eine MP3-Datei zu konvertieren. Aber während meine Anwendung läuft, wird nur VLC Media Player (Bad File Descriptor) eingefroren Wenn ich meine Anwendung schließe, wird es gut spielen.Warum kann ich die Datei nicht extern wiedergeben, während meine Anwendung geöffnet ist?
public void ConvertWavToMp3(string filename)
{
LameMP3FileWriter mpFileWriter;
if (File.Exists(Path.Combine(filename.Split('.').FirstOrDefault() + ".mp3"))) File.Delete(Path.Combine(filename.Split('.').FirstOrDefault() + ".mp3"));
using (WaveStream waveStream = WaveFormatConversionStream.CreatePcmStream(new WaveFileReader(filename)))
using (mpFileWriter = new LameMP3FileWriter(File.Create(Path.Combine(filename.Split('.').FirstOrDefault() + ".mp3")), waveStream.WaveFormat, LAMEPreset.ABR_320))
{
byte[] bytes = new byte[waveStream.Length];
waveStream.Position = 0;
waveStream.Read(bytes, 0, (int)waveStream.Length);
mpFileWriter.Write(bytes, 0, bytes.Length);
mpFileWriter.Flush();
}
if (mpFileWriter != null)
{
mpFileWriter.Dispose();
mpFileWriter.Close();
mpFileWriter = null;
}
else Console.WriteLine("file writer was null");
lblstatus.Text = "Ready";
lblstatus.ForeColor = System.Drawing.Color.DarkGreen;
}
Wie Sie sehen können, schließe ich und lege die Datei ab, aber das funktioniert nicht. Der Fehler bleibt bestehen. Die Datei selbst ist in Ordnung, aber die App darf nicht laufen oder wird nicht abgespielt. Seltsam. Hoffentlich können Sie mir helfen, Sincelery, TheSkilluminati PS: Ich bin kein Englisch-Muttersprachler, so dass ich entschuldige mich für alle Probleme im Text :)
Wo soll ich schließen und entsorgen? Ich habe schon nach dem using() {} was probiert. – TheSkilluminati
Ich habe ein anderes using() zu Ihrem Codebeispiel hinzugefügt, sagen Sie mir, ob das funktioniert – greenberet
Oh, danke, hat perfekt funktioniert. Nett :) – TheSkilluminati