現在、mp3 デコーダーを構築するために mp3 形式を研究しています。少し考えた後、曲の長さを計算する最も簡単な方法は、サイズをビットレートで割って (ID3 タグなどのサイズを考慮して)、結果を分に変換することであることがわかりました。いくつかの曲でこの方法を使用すると、正確な時間が得られました。曲の時間は純粋なオーディオ データの長さであると常に想定していましたが、この方法では、フレームも曲の一部と見なされます (時間の計算時)。また、mp3ファイルの音声データは圧縮されているので、解凍するともちろんサイズが大きくなり、時間の計算が不正確になることもわかりました。ここで何か不足していますか?曲の長さが非圧縮データではなく圧縮データで計算され、それぞれが DWORD であるフレームが無視されないことは、私には意味がありません。
質問する
136 次
1 に答える
0
曲の時間は純粋なオーディオ データの長さであると常に想定していましたが、この方法では、フレームも曲の一部と見なされます (時間の計算時)。また、mp3ファイルの音声データは圧縮されているので、解凍するともちろんサイズが大きくなり、時間の計算が不正確になることもわかりました。
MP3 ファイルなどのメディア ストリームが一定のビットレートで圧縮されている場合、そのビットレートは圧縮されていないサイズではなく、データの圧縮されたサイズを反映します。だからあなたの数学は大丈夫です。
このアプローチで頭を悩ませるのは、メタデータ タグ (ID3 など) です。これらはファイル サイズの一部ですが、オーディオ データではないため、ビットレートにはカウントされません。幸いなことに、それらは比較的小さい傾向があるため、結果に大きな影響を与えることはありません.
于 2012-09-22T05:39:57.937 に答える