12

使用できます

 String MediaMetadataRetriver.extractMetadata(int key);

 key = MediaMetadataRetriver.METADATA_KEY_DURATION

メディア期間を抽出します。

この関数は文字列を返しますが、この文字列が表す形式や測定単位に関するドキュメントはありません。msの整数であると仮定しますが、残りの MediaMetadataRetriever の API はusを使用します。

では、期間の単位は何ですか?仕様の欠如は意図的またはバグだと思いますか?

4

3 に答える 3

14

これを見る

  long durationMs = Long.parseLong(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));
                    long duration = durationMs / 1000;
                    long h = duration / 3600;
                    long m = (duration - h * 3600) / 60;
                    long s = duration - (h * 3600 + m * 60);
                    String durationValue;
                    if (h == 0) {
                       durationValue = String.format(
                       activity.getString(R.string.details_ms), m, s);
                       } else {
                            durationValue = String.format(
                            activity.getString(R.string.details_hms), h, m, s);
                         }
                    }  
于 2012-05-11T15:26:55.520 に答える