c# – 如何在.NET中检测mp3的频率?
发布时间:2020-12-16 01:38:26 所属栏目:百科 来源:网络整理
导读:我想在C#.NET中创建一个非常简单的软件,我可以将文件夹的路径传递给并检测频率低于给定阈值的所有文件.有关如何做到这一点的任何指示? 解决方法 你必须阅读mp3文件.要做到这一点,你必须找到它们的规格. 通常mp3文件被包装到ID3标签中,因此您必须阅读它,找到
我想在C#.NET中创建一个非常简单的软件,我可以将文件夹的路径传递给并检测频率低于给定阈值的所有文件.有关如何做到这一点的任何指示?
解决方法
你必须阅读mp3文件.要做到这一点,你必须找到它们的规格.
通常mp3文件被包装到ID3标签中,因此您必须阅读它,找到它的长度并跳过它.我们以ID3v2.3为例: ID3v2/file identifier "ID3" ID3v2 version $03 00 ID3v2 flags %abc00000 ID3v2 size 4 * %0xxxxxxx 所以字节6,7,8,9以big-endian形式存储标题长度.这是一些文件的示例: 0 1 2 3 4 5 6 7 8 9 A B C D E F 49 44 33 03 00 00 00 00 07 76 54 43 4f 4e 00 00 07 76 – 是大小.您需要向左移动第一个字节,以便实际大小为3F6.然后添加10(A)以获得偏移量= 400.这是mp3头的开始地址. 然后你描述mp3 header: 位是:AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM,我们需要FF,采样频率并将t转换为实际频率: bits MPEG1 MPEG2 MPEG2.5 00 44100 22050 11025 01 48000 24000 12000 10 32000 16000 8000 11 reserv. reserv. reserv. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |