资源简介
C#开发的.kgtemp(KuG ou缓存文件)转换.mp3文件的源代码,仅用于学习交流,勿用于商业用途。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text;
namespace Kgtemp_Converter
{
public class ID3Info
{
public string title { get; set; }
public string Artist { get; set; }
public string Album { get; set; }
public string Year { get; set; }
public string Comment { get; set; }
}
public class ID3Helper
{
#region MP3信息结构
///
/// MP3信息结构
///
public struct Mp3Info
{
public string identify; //TAG,三个字节
public string title; //歌曲名30个字节
public string Artist; //歌手名30个字节
public string Album; //所属唱片30个字节
public string Year; //年4个字符
public string Comment; //注释28个字节
public char reserved1; //保留位,一个字节
public char reserved2; //保留位,一个字节
public char reserved3; //保留位,一个字节
}
#endregion
public static Encoding DetectEncoding(byte encoding = 0x00)
{
Encoding tagEncoding = null;
// Checks to see what encoding type it is.
switch (encoding)
{
case 0x00: tagEncoding = Encoding.GetEncoding(“ISO-8859-1“); break;
case 0x01: tagEncoding = Encoding.GetEncoding(“UTF-16“); break;
case 0x02: tagEncoding = Encoding.GetEncoding(“UTF-16BE“); break;
case 0x03: tagEncoding = Encoding.UTF8; break;
default: throw new Exception(“Invalid encoding type of ID3v2.“);
}
return tagEncoding;
}
public static Mp3Info GetMp3Info(string FileName)
{
//打开文件
FileStream fs = new FileStream(FileName FileMode.Open FileAccess.Read);
Encoding FileEncoding = Encoding.GetEncoding(“GBK“);
//获取MP3文件最后128个字节ID3信息保存于此如果获取失败则返回null
const int seekPos = 128;
fs.Seek(-seekPos SeekOrigin.End); //从文件尾部开始往回seek到128字节处
int rl = 0;
byte[] Last128 = new byte[seekPos];
rl = fs.Read(Last128 0 seekPos); //将最后的128个字节读出来放入byte[]中
fs.Seek(0 SeekOrigin.Begin); //恢复Seek位置
//关闭文件
fs.Close();
//将mp3最后的128个字节格式化为Mp3Info
Mp3Info myMp3Info = FormatMp3Info(Last128 FileEncoding);
//返回
return myMp3Info;
}
#region 将mp3最后的128个字节格式化为Mp3Info
///
/// 将mp3最后的128个字节格式化为Mp3Info
///
/// 从MP3文件中截取的二进制信息
/// 返回一个Mp3Info结构
private static Mp3Info FormatMp3Info(byte[] Info System.Text.Encoding Encoding)
{
Mp3Info myMp3Info = new Mp3Info();
string str = null;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 28160 2018-10-14 14:10 Kgtemp_Convert_Mp3\bin\Debug\Kgtemp_Convert_Mp3.exe
文件 38400 2018-10-14 14:10 Kgtemp_Convert_Mp3\bin\Debug\Kgtemp_Convert_Mp3.pdb
文件 11600 2018-10-14 14:10 Kgtemp_Convert_Mp3\bin\Debug\Kgtemp_Convert_Mp3.vshost.exe
文件 6913 2018-04-15 18:56 Kgtemp_Convert_Mp3\ID3Helper.cs
文件 14162 2018-10-14 14:10 Kgtemp_Convert_Mp3\Kgtemp_Converter.cs
文件 13613 2018-10-14 14:08 Kgtemp_Convert_Mp3\Kgtemp_Converter.Designer.cs
文件 13957 2018-10-14 14:08 Kgtemp_Convert_Mp3\Kgtemp_Converter.resx
文件 3790 2018-04-15 18:57 Kgtemp_Convert_Mp3\Kgtemp_Convert_Mp3.csproj
文件 5420 2018-04-15 18:48 Kgtemp_Convert_Mp3\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6395 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 1571 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Debug\Kgtemp_Convert_Mp3.csproj.FileListAbsolute.txt
文件 986 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Debug\Kgtemp_Convert_Mp3.csproj.GenerateResource.Cache
文件 28160 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Debug\Kgtemp_Convert_Mp3.exe
文件 5788 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Debug\Kgtemp_Convert_Mp3.Kgtemp_Converter.resources
文件 38400 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Debug\Kgtemp_Convert_Mp3.pdb
文件 180 2018-04-20 00:40 Kgtemp_Convert_Mp3\obj\x86\Debug\Kgtemp_Convert_Mp3.Properties.Resources.resources
文件 5420 2018-04-19 19:53 Kgtemp_Convert_Mp3\obj\x86\Release\DesignTimeResolveAssemblyReferences.cache
文件 6399 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Release\DesignTimeResolveAssemblyReferencesInput.cache
文件 1599 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Release\Kgtemp_Convert_Mp3.csproj.FileListAbsolute.txt
文件 986 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Release\Kgtemp_Convert_Mp3.csproj.GenerateResource.Cache
文件 27136 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Release\Kgtemp_Convert_Mp3.exe
文件 5788 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Release\Kgtemp_Convert_Mp3.Kgtemp_Converter.resources
文件 36352 2018-10-14 14:10 Kgtemp_Convert_Mp3\obj\x86\Release\Kgtemp_Convert_Mp3.pdb
文件 180 2018-04-20 00:40 Kgtemp_Convert_Mp3\obj\x86\Release\Kgtemp_Convert_Mp3.Properties.Resources.resources
文件 510 2018-04-15 13:56 Kgtemp_Convert_Mp3\Program.cs
文件 1368 2018-04-15 13:34 Kgtemp_Convert_Mp3\Properties\AssemblyInfo.cs
文件 2884 2018-04-15 13:34 Kgtemp_Convert_Mp3\Properties\Resources.Designer.cs
文件 5612 2018-04-15 13:34 Kgtemp_Convert_Mp3\Properties\Resources.resx
文件 1101 2018-04-15 13:34 Kgtemp_Convert_Mp3\Properties\Settings.Designer.cs
文件 249 2018-04-15 13:34 Kgtemp_Convert_Mp3\Properties\Settings.settings
............此处省略16个文件信息
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- Microsoft.ReportViewer的Dll合集 9.0
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- PDF文件 阅读控件 (VeryPDF PDFView OCX)
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
评论
共有 条评论