private void SetAudioFileDetails(IAudioFile audioFile, DescriptiveLameTagReader lameTagReader) { txtPlayLength.Text = string.Format("{0}:{1:00}", (int)audioFile.TotalSeconds / 60, (int)audioFile.TotalSeconds % 60); txtBitrate.Text = string.Format("{0:#,0} kbps", audioFile.Bitrate); txtEncoderPreset.Text = string.Format("{0} {1}", lameTagReader.LameTagInfoEncoder, lameTagReader.UsePresetGuess == UsePresetGuess.NotNeeded ? lameTagReader.Preset : lameTagReader.PresetGuess); }
private void OnLoadFile(string fileName) { _id3v2 = new ID3v2Tag(fileName); IAudioFile audioFile = AudioFile.Create(fileName, true); DescriptiveLameTagReader lameTagReader = new DescriptiveLameTagReader(fileName); _fullFileName = fileName; FileName = Path.GetFileName(fileName); Artist = _id3v2.Artist; Title = _id3v2.Title; Album = _id3v2.Album; Genre = _id3v2.Genre; Year = _id3v2.Year; Track = _id3v2.TrackNumber; ID3v2Version = _id3v2.Header.TagVersion; if (_id3v2.PictureList == null || _id3v2.PictureList.Count == 0) { PictureCollection = new ObservableCollection<Picture>(); } else { var pictureCollection = new ObservableCollection<Picture>(); foreach (var apic in _id3v2.PictureList) { pictureCollection.Add(new Picture(apic)); } PictureCollection = pictureCollection; } Comment = null; if (_id3v2.CommentsList.Count > 0) { Comment = _id3v2.CommentsList[0].Value; } PlayLength = audioFile.TotalSeconds; Bitrate = audioFile.Bitrate; EncoderPreset = string.Format("{0} {1}", lameTagReader.LameTagInfoEncoder, lameTagReader.UsePresetGuess == UsePresetGuess.NotNeeded ? lameTagReader.Preset : lameTagReader.PresetGuess); CanSave = true; }
private void LoadAudioFileDetails(object pathObject) { string path = (string)pathObject; IAudioFile audioFile = AudioFile.Create(path, false); decimal bitrate = audioFile.Bitrate; // force bitrate calculation DescriptiveLameTagReader lameTagReader = new DescriptiveLameTagReader(path); Invoke(new Action<IAudioFile, DescriptiveLameTagReader>(SetAudioFileDetails), audioFile, lameTagReader); }