gpt4 book ai didi

c# - 如何在 .NET 中检测 mp3 的频率?

转载 作者:行者123 更新时间:2023-11-30 14:18:48 24 4
gpt4 key购买 nike

我想在 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 以大端形式存储头长度。这是一些文件的示例:

 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的描述:

位是:AAAAAAAAAAABBCCD 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.

关于c# - 如何在 .NET 中检测 mp3 的频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3829231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com