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