MediaMetadataRetriever中媒体持续时间的测量单位是多少

mis*_*_mp 11 media android duration metadata

一个人可以使用

 String MediaMetadataRetriver.extractMetadata(int key);
Run Code Online (Sandbox Code Playgroud)

 key = MediaMetadataRetriver.METADATA_KEY_DURATION
Run Code Online (Sandbox Code Playgroud)

提取媒体持续时间.

此函数返回一个String,但没有关于此字符串表示的格式或度量单位的文档.我假设它是一个以ms为单位的整数,但MediaMetadataRetriever的其余部分使用了我们.

那么持续时间的单位是多少?你认为缺乏规范是故意还是错误?

Sil*_*orm 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);
                         }
                    }  
Run Code Online (Sandbox Code Playgroud)