3

私は、ユーザーが MediaPlayer を介してアプリから音楽を再生できるアプリに取り組んでいます。

私が直面している問題は、ユーザーが編集したメディア ファイルが getDuration() メソッドが呼び出されたときに誤った値を返すことです。私はいくつかの実験を行いましたが、ユーザーがオーディオ編集ツールを使用して曲を編集すると、メタデータ (曲の長さを含む) が変更されないことがよくあります。これにより、メディア プレーヤーはその曲を 3 分の曲として認識しますが、実際には 30 秒しかありません。これは大きな問題です。多くのユーザーがアプリのメディア プレーヤーで着信音やその他の曲の断片を使用すると、プログレス バーや、曲の長さを表示する TextView が正しく表示されなくなるからです。

明らかに、私のアプリを使用する前に人々が使用するオーディオ編集ツールの種類を制御することはできません。正確な getDuration() 値を与えるためにアプリ側でできることはありますか?

ありがとう!

4

1 に答える 1

0

プログラムによってメディア ファイルに加えられた変更は、MediaScanner には反映されません。そのため、必要に応じて、アプリケーションの起動時にメディアストアの再スキャンを試すことができます。https://groups.google.com/group/android-developers/browse_thread/thread/cf41cc88b6eb4393を参照してください。

于 2012-05-29T04:48:49.677 に答える