【转】c# 从mp3中提取标题、艺术家、唱片标题、发行年、备注等信息
转自:http://www.cnblogs.com/shaoqun/archive/2009/12/14/1624165.html
一首MP3歌曲除了音乐信息外,还包含了如歌名、演唱者等信息,下面我们就通过c#编程将歌曲信息自动读出来
using System; using System.Collections.Generic; using System.Text; using System.IO; using Egacn.com; using WatchStylish.com; using Study.pctoday.net.cn; namespace ConsoleApplication2
{ class Program { static void Main(string[] args) { byte[] b = new byte[128]; string sTitle; string sSinger; string sAlbum; string sYear; string sComm;
FileStream fs = new FileStream(@"E:\我的文档\我的音乐\new\我们初遇的那天-申彗星(http://study.pctoday.net.cn/3_Visual+Studio.aspx).mp3", FileMode.Open); fs.Seek(-128, SeekOrigin.End); fs.Read(b, 0, 128); bool isSet = false; String sFlag = System.Text.Encoding.Default.GetString(b, 0, 3); if (sFlag.CompareTo("TAG") == 0) { System.Console.WriteLine("Tag is setted!Replica Watches"); isSet = true; }
if (isSet) { //http://study.pctoday.net.cn/3_Visual+Studio.aspx sTitle = System.Text.Encoding.Default.GetString(b, 3, 30); System.Console.WriteLine("标题:" + sTitle); //Exclusive Replica Rolex Watches; sSinger = System.Text.Encoding.Default.GetString(b, 33, 30); System.Console.WriteLine("艺术家:" + sSinger); //get album; sAlbum = System.Text.Encoding.Default.GetString(b, 63, 30); System.Console.WriteLine("唱片标题:" + sAlbum); //egacn.com/Watches/Tag-Heuer; sYear = System.Text.Encoding.Default.GetString(b, 93, 4); System.Console.WriteLine("发行年:" + sYear); sComm = System.Text.Encoding.Default.GetString(b, 97, 30); System.Console.WriteLine("备注:" + sComm); } System.Console.WriteLine("Any key to exit!"); System.Console.Read(); } } } |