[英]how to trim header and side information of mp3 frame using Naudio and c#
我的問題是獲取mp3幀的實際數據。 為此,我使用了NAudio並獲取了RawData,但我認為在RawData屬性中,它返回幀的所有字節,包括標題和輔助信息。
代碼如下:
private void button1_Click(object sender, EventArgs e)
{
Mp3FileReader reader = new Mp3FileReader("file.mp3");
Mp3Frame mp3Frame = reader.ReadNextFrame();
byte [] FrameByteArray = mp3Frame.RawData;
BitArray bits = new BitArray(FrameByteArray);
Console.Write(mp3Frame.RawData.Length);
foreach (bool b in bits)
{
if (b == true)
{
Console.Write(" 1");
}
else
{
Console.Write(" 0");
}
}
reader.Close();
}
它以位為單位返回所有幀數據,包括標題和邊信息。 但是我只需要每幀的實際數據,而沒有標題和邊信息。
有人可以幫忙嗎?
NAudio可以為您找到MP3幀,但是除了標識一些基本信息(例如采樣率,通道模式等)之外,它不會對內容進行任何更深層次的解析。
如果您需要進行更深入的探索,則需要熟悉MP3框架的內部結構。 特別是,請查看您是否可以獲取以下文檔:
這篇關於codeproject的文章將是一個很好的起點(遵循底部的鏈接)。 如果您希望C#代碼對MP3幀格式有更深入的了解,則可以探索NLayer的源代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.