private async Task UpdateOutputFileBasedOnMediaFormat() { switch (_userSettings.MediaFormat) { case MediaFormat.Mp3: var mp3TagsInfo = new MediaTags.MP3Tags() { Track = _track, OrderNumberInMediaTagEnabled = _userSettings.OrderNumberInMediaTagEnabled, Count = _userSettings.OrderNumber, CurrentFile = _currentOutputFile.ToString() }; await mp3TagsInfo.SaveMediaTags(); return; default: return; } }
private async Task UpdateOutputFileBasedOnMediaFormat() { switch (_userSettings.MediaFormat) { case MediaFormat.Wav: _fileManager.Rename(_currentOutputFile.ToPendingFileString(), _currentOutputFile.ToString()); return; case MediaFormat.Mp3: using (var reader = new WaveFileReader(_currentOutputFile.ToPendingFileString())) { using (var mp3writer = new LameMP3FileWriter(_currentOutputFile.ToTranscodingToMP3String(), _waveIn.WaveFormat, _userSettings.Bitrate)) { await reader.CopyToAsync(mp3writer); if (mp3writer != null) { await mp3writer.FlushAsync(); } } } _fileManager.DeleteFile(_currentOutputFile.ToPendingFileString()); _fileManager.Rename(_currentOutputFile.ToTranscodingToMP3String(), _currentOutputFile.ToString()); var mp3TagsInfo = new MediaTags.MP3Tags() { Track = _track, OrderNumberInMediaTagEnabled = _userSettings.OrderNumberInMediaTagEnabled, Count = _userSettings.OrderNumber, CurrentFile = _currentOutputFile.ToString() }; await mp3TagsInfo.SaveMediaTags(); return; default: return; } }