private TagData getID3Tags(FileInfo fi) { ContainerFactory fac = new ContainerFactory(); var stream = fi.OpenRead(); MP3Data data; try { data = fac.Create(stream); if (data == null) return null; var outStream = new MemoryStream(); var writer = new ID3V23TagWriter(outStream); writer.WriteFrame(data.Frames); TagData tags = new TagData(); tags.ContentLength = stream.Length - 128 - outStream.Length; outStream.Seek(0, SeekOrigin.Begin); tags.Begin = outStream.ToArray(); return tags; } catch (Exception e) { return null; } }
private static void createFakeStream(string fileName) { var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); ContainerFactory fac = new ContainerFactory(); var data = fac.Create(fs); MemoryStream s = new MemoryStream(); ID3V23TagWriter writer = new ID3V23TagWriter(s); writer.WriteFrame(data.Frames); s.Seek(0, SeekOrigin.Begin); data = fac.Create(s); var l = data; }