私は何ヶ月もの間、この問題を解決しようとしてきました... Flash 9 では、ストリーミング MP3 ファイルを読み込んで、そのトラックの長さを計算しようとしています。私はそれで問題ありませんが、mp3 のチャンネルがモノラルの場合、時間は元のトラックの長さの 2 倍になります。どうやってこれを理解したのですか?Windows のサウンド レコーダーに録音してプレーヤーをテストしましたが、幸運なことに、MP3 をステレオで録音するのを忘れていました。
さて、Flash では、ロードされたバイト数、合計バイト数、再生位置、および考えられるすべての数式を使用して、さまざまな方法でデュレーションを計算してみました。数学は大丈夫です。問題は、Flash が mp3 をロードするときに、ファイルがステレオであると自動的に想定することです。そのため、データをロードするとき、特定のサイズで 1 つのチャネルを認識し、ステレオ用に 2 倍にするため、データが持っていると考えられるバイト数を 2 倍にします。これにより、負荷サイズの誤った値が生成されますが、正しい計算では、トラックの長さが 2 倍になります。そのため、モノは、私たちが使用する通常の式では機能しません。
これに対抗するには、ファイルがモノかステレオかを判断する方法が必要です。いいえ、ID3 データも間違った値を返します。すでに soundTransform.leftToLeft、soundTransform.leftToRight、soundTransform.rightToLeft、および soundTransform.rightToRight を使用して手動で決定しようとしました (ステレオ サウンドの値を返します)。
ファイルに含まれるオーディオ チャンネルを Flash に正しく通知させる方法がわかりません。私が何かを見落としていることを願っています。すでに試したかどうかに関係なく、ヘルプやトラブルシューティングのヒントをいただければ幸いです。