|
Программирование >> Автоматически обновляемые приложения
SoundClip, Gospel, Noise, AlternRock, Bass, Soul, Punk, Space, Mediative, InstrumentalPop, InstrumentalRock, Ethnic, Gothic, Darkwave, Technolndustrial, Electronic, PopFolk, Eurodance, Dream, SouthernRock, Comedy, Cult, Gangsta, Top40, ChristianRap, PopFunk, Jungle, NativeAmerican, Cabaret, NewWave, Psychadelic, Rave, Showtunes, Trailer, LoFi, Tribal, AcidPunk, AcidJazz, Polka, Retro, Musical, RocknRoll, читаем информацию из МРЗ-файла public static void ReadMP3Tag(ref МРЗ рагашМРЗ) Считьшаем последние 128 байт (теги ID3) в байтовый массив FileStream fs; fs = new FileStream(рагатМРЗ.fileComplete, FileMode.Open); byte[] bBuffer = new byte[128]; fs.Seek(-128, SeekOrigin.End); fs.Read(bBuffer, 0, 128); fs.CloseO; Конвертируем массив байтов в строки Encoding instEncoding = new ASCIIEncoding(); Encoding encoding = Encoding.GetEncoding(1251); string id3Tag = encoding.GetString(bBuffer); Если имеется строка TAG, тогда начинаем извлекать информацию if (id3Tag.Substring(О, 3) == TAG ) название песни рагатМРЗ.id3Title = id3Tag.Substring(3, 30).Trim(); исполнитель рагатМРЗ.id3Artist = id3Tag.Substring(33, 30).Trim(); название альбома рагатМРЗ.id3Album = id3Tag.Substring(63, 30).Trim(); год выпуска рагатМРЗ.id3Year = id3Tag.Substring(93, 4).Trim(); комментарий рагатМРЗ.id3Comment = id3Tag.Substring(97, 28).Trim(); Получим номер трека, если используется ID3 vl.1 Сравниваем предоследний байт на равенство нулю if (id3Tag[125] == 0) рагатМРЗ.id3TrackNumber = bBuffer[126]; else рагатМРЗ.id3TrackNumbeг = 0; HardRock, None = 255 Сохраняем теги в файле МРЗ public static void SaveMP3Tag(ref МРЗ рагашМРЗ) { Удаляем любые пробелы рагашМРЗ.id3Title = рагашМРЗ.id3Title.Trim(); рагатМРЗ.id3Artist = рагатМРЗ.id3Artist.Trim(); parатМРЗ. id3Album = рагатМРЗ. id3Album. Trim () ; рагатМРЗ.id3Year = рагатМРЗ.id3Year.Trim(); рагатМРЗ . id3Corratient = рагатМРЗ. id3Comment. Trim () ; He позволяем выходить строке за допустимые пределы длины if (рагатМРЗ.id3Title.Length > 30) рагатМРЗ.id3Title = рагатМРЗ.id3Titie.Substring(О, 30); if (рагатМРЗ.id3Artist.Length > 30) рагатМРЗ.id3Artist = рагатМРЗ.id3Artist.Substring(0, 30), if (рагатМРЗ.id3Album.Length > 30) рагатМРЗ.id3Album = рагатМРЗ.id3Album.Substring(0, 30); if (рагатМРЗ.id3Year.Length > 4) рагатМРЗ.id3Year = рагатМРЗ.id3Year.Substring(0, 4); if (рагатМРЗ.id3Comment.Length > 28) рагатМРЗ. id3Corratient = рагатМРЗ . id3Corratient. Substring (0, 28) ; рагашМРЗ.idSGenre = bBuffer[127]; рагашМРЗ.hasIDSTag = true; else { Если теги ID3 не найдены, то создаем пустые данные, чтобы потом пользователь мог записать свои данные paraiTi]yiP3.id3Title = ; рагашМРЗ.id3Artist = ; рагашМРЗ.id3Album = ; paraiTi]yiP3.id3Year = ; рагашМРЗ. id3Corratient = ; рагашМРЗ . id3TrackNuiTiber = 0; рагашМРЗ.id3Genre = 0; paraiTi]yiP3.hasID3Tag = false;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |