//目的:列出MP3的一些标签信息
//作者:李艳庆
using System;
using System.IO;
namespace mp3infons
{
class MP3Info
{
struct MP3InfoStruct
{
public string MP3Flag;
public string Title;
public string Singer;
public string Album;
public string Year;
public string Comment;
}
private string MP3File;
MP3InfoStruct mp3struct;
public MP3Info(string MP3Name)
{
MP3File = MP3Name;
mp3struct = new MP3InfoStruct();
}
public bool readMP3Info()
{
bool isSet=false;
byte[] b = new byte[128];
try
{
FileStream fs = new FileStream(MP3File, FileMode.Open);
fs.Seek(-128, SeekOrigin.End);
fs.Read(b, 0, 128);
mp3struct.MP3Flag = System.Text.Encoding.Default.GetString(b, 0, 3);
if (mp3struct.MP3Flag.CompareTo("TAG")==0)
{
//检查是否设置了标签
isSet=true;
mp3struct.Title = System.Text.Encoding.Default.GetString (b,3,30);
mp3struct.Singer = System.Text.Encoding.Default.GetString (b,33,30);
mp3struct.Album = System.Text.Encoding.Default.GetString (b,63,30);
mp3struct.Year = System.Text.Encoding.Default.GetString (b,93,4);
mp3struct.Comment = System.Text.Encoding.Default.GetString (b,97,30);
}
fs.Close();
}
catch(Exception e)
{
System.Console.WriteLine(e.Message);
}
return isSet;
}
public void printMP3Info()
{
System.Console.WriteLine("MP3附加信息:");
System.Console.WriteLine("-----------------------------");
System.Console.WriteLine("标 题: " + mp3struct.Title);
System.Console.WriteLine("歌 手: " + mp3struct.Singer);
System.Console.WriteLine("唱片集: " + mp3struct.Album);
System.Console.WriteLine("出版期: " + mp3struct.Year);
System.Console.WriteLine("备 注: " + mp3struct.Comment);
}
}
public class MainMP3
{
static void Main(string[] args)
{
if (args.Length == 1)
{
MP3Info mp3 = new MP3Info(args[0]);
bool f = mp3.readMP3Info();
if (f)
{
mp3.printMP3Info();
}
else
{
System.Console.WriteLine("该MP3没有标注");
}
}
else
{
System.Console.WriteLine("参数不正确,只能跟一个参数");
}
}
}
}
分享到:
相关推荐
获取Mp3文件Tag信息,如标题、年份、歌手、唱片等
C#实现读取MP3歌曲文件标准信息 附源码
C#中获取MP3文件信息,里面有三种方法来实现,C#中获取mp3格式文件的各种信息
摘要:C#源码,网络相关,工作组 c#列出工作组中所有计算机,枚举网络中同一工作组中的计算机名称,检索需要一定时间,视网络决定,检索到的计算机名称会显示在右侧的列表中。
C#选项卡TtabControl标签隐藏 C#选项卡标签隐藏 C#TtabControl标签隐藏 C#选项卡TtabControl标签隐藏
C# 调用Codesoftj简单示例,
C#调用CodeSoft打印标签,使用斑马打印机,二维码是变量。
在c#后台实现 行转列的显示功能,这样就是可以不借助sql数据库的查询分析器功能也可以实现行转列功能的实现了
c#版多标签页浏览器是用c#编写的多标签页浏览器,类似遨游,360,腾讯TT,可以在一个窗口中打开若干个网页。适合新手学习使用。
C# 音频wav 转 MP3源码,可配置转换参数
C#制作多标签浏览器的文档以及代码,还有解说。
C# 基于谷歌Chrome内核 cefsharp web浏览器 多标签实例源码
RFID标签读写程序-c#版程序源码
C#使用列别名
C# 去掉 字符串中的 HTML 标签。 有些字符串中 包含一些 HTML 标签 不想要,就可以用 它去掉其中的标签了。
c# datagirdview列头增加复选框列多选C#增加全选列程序从别人那找来
在C#中将label标签的背景设为透明 在C#中将label标签的背景设为透明
C#开发语言。。net开发环境。列出电脑所有安装的打印机名称。
可以获取MP3文件的压缩方式 层 采样率,位率等信息,C#编写的一个类。
C#操作手持机识别RFID电子标签,代码包括了通过手持机的RFID读写模块对RFID标签进行读写功能。并将数据存入wince的sqlce数据库中。