Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
            }
        }