Мне удалось преобразовать wav-файл в mp3-файл. Но пока мое приложение работает, оно только замораживает VLC Media Player (дескриптор Bad File) Когда я закрываю приложение, он будет играть нормально.Почему я не могу играть в файл извне, пока мое приложение открыто?
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;
}
Как вы можете видеть, я закрываю и удаляю файл, но это не работает. Ошибка остается. Сам файл в порядке, но приложение не разрешено запускать или оно не будет воспроизводиться. Странно. Надеюсь, что вы можете помочь мне, Sincelery, TheSkilluminati PS: Я не английский-родной, поэтому я приношу извинения за проблемы в тексте :)
Где я должен его закрыть и утилизировать? Ive уже пытался использовать() {} вещь. – TheSkilluminati
Я добавил еще один пример() к вашему примеру кода, скажите, если это сработало – greenberet
О, спасибо, отлично работал. Ницца :) – TheSkilluminati