0

MP2 オーディオ ファイルと JAVA に問題があります。とにかく、オーディオはJAVAの苦痛のようです。JavaLayer と Xuggler を使用して、MP2 ファイルをデコードし、WAV にトランスコードしてみました。どちらも失敗しました。そして、それらの開発は活発ではないようです。多くの人がまだこれらを使用していますが。JMF や FMJ はまだ試していません。私はよりネイティブなアプローチを望んでいました。

私は自分のプロジェクトに JavaLayer をフォークすることになりました。コードを少し変更するだけで、MP2 からすべてのフレームを読み取れるようになったようです。しかし、それを WAV に変換しようとすると、VLC でしか再生できないファイルになり、認識できましたが歪んでいました。

とにかく、大まかな質問、申し訳ありません。私を助けてくれる JAVA + JavaLayer + MP2 の達人がいるのだろうか?

元の MP2: https://dl.dropboxusercontent.com/u/90134918/horng014.mp2 失敗した WAV 変換: https://dl.dropboxusercontent.com/u/90134918/horng014_fail.wav

このプロジェクトのパブリック GitHub アカウントを持っていますが、この壊れたコードはまだそこに投稿していません。

4

3 に答える 3

0

MP2 ファイルは正しく、MP2 は最近では一般的です。MP2 エンコーダー twolame は最新であり、VBR エンコーディングが強化されています。一般的なプレーヤーでファイルを再生できます。JLayer には 2 つの異なるバグがあります。1. フレーム サイズの計算が間違っていることと、2. MP2 低サンプリング周波数 (Mpeg2-Layer2) のビット割り当てテーブルにバグがあることです。

于 2014-12-29T08:49:11.213 に答える
0

デバッガーで jlayer1.01 をステップ実行した後、2 つの可能性しかないと結論付けました。

jlayer がヘッダー ワードを間違ってデコードするか、jlayers テーブルとコードが正しく、ファイルのパラメーターが標準の定義から逸脱しています。どちらが当てはまるかを知るための知識と時間が不足しています。

jlayer が数年間更新されていないからといって、必ずしも放棄されたわけではありません。通常、平均的な MP3 で非常にうまく機能します。既知のバグが残っていないのに、なぜアップデートが必要なのですか?

最近では、MP2 はあまり一般的ではありません。実際、15 年前にはそれほど一般的でもなかったので、まだ未知のバグがある可能性があります。バグレポートを提出してみて、しばらく待ってください。

于 2014-09-04T17:18:31.707 に答える