我使用this回答来获取持续时间,但它对我不起作用。任何人都可以告诉我这是什么问题?
感谢任何帮助。
myfun(400, 5)
# 1 101 200 300 400
myfun(400, 7)
# 1 68 134 200 267 334 400
答案 0 :(得分:1)
MediaStore是一个媒体提供商,其中包含内部和外部存储设备上所有可用媒体的元数据。我不确定,但您使用的路径可能对于MediaStore不可见。如果您使用的是MediaPlayer,请执行此...
MediaPlayer mp = MediaPlayer.create(this, Uri.parse(uriOfYourFile));
int duration = mp.getDuration();
答案 1 :(得分:0)
如果您已经获得了视频的Uri或文件路径,那么使用MediaMetadataRetriever类可能会更容易。它看起来像这样:
MediaMetadataRetriever r = new MediaMetadataRetriever();
r.setDataSource(filePath);
String durString = r.extractMetadata( MediaMetadataRetriever.METADATA_KEY_DURATION );
int duration = Integer.parseInt(durString);