private void SetupOutputStream(int dataFileSize) { SaveFileDialog dlg = new SaveFileDialog(); dlg.AddExtension = true; dlg.DefaultExt = ".flac"; dlg.Filter = "FLAC files (*.flac)|*.flac"; dlg.ShowDialog(); AudioFileOutStream = new FileOutEncodingStream(dlg.FileName); PinnedMetaData = new meta.Prototype[1]; var fileSizeComment = new meta.VorbisComment(); fileSizeComment.AppendComment(new meta.VorbisComment.Entry("LEN", "" + dataFileSize)); PinnedMetaData[0] = fileSizeComment; AudioFileOutStream.SetMetadata(PinnedMetaData); //AudioFileOutStream.SetCompressionLevel(8); AudioFileOutStream.InfoFileWriter = InfoFileWriter; AudioFileOutStream.InitializeStream( AudioFileInStream.GetChannels(), AudioFileInStream.GetBitsPerSample(), AudioFileInStream.GetSampleRate(), (uint)AudioFileInStream.GetTotalSamples(), false ); }
private void CleanupEncoder() { dataFileStream.Close(); AudioFileInStream.Close(); AudioFileOutStream.Close(); AudioFileInStream = null; AudioFileOutStream = null; dataFileStream = null; AudioFileName = null; DataFileName = null; DisplayAudioFileBox.Invoke((Action <object>)(unused => DisplayAudioFileBox.Text = ""), 0); DisplayDataFileBox.Invoke((Action <object>)(unused => DisplayDataFileBox.Text = ""), 0); Encoder.Clear(); Encoder = null; }