某些机型在拍摄视频后通过MediaScannerConnection.scanFile()返回的uri为null,但是path是有的?
解决方案:
可以通过视频路径获取MediaMetadataRetriever对象来获取时长:
String filePath = data.getStringExtra("path");
MediaMetadataRetriever media = new MediaMetadataRetriever();
media.setDataSource(filePath);
int duration =Integer.parseInt(media.extractMetadata
(MediaMetadataRetriever.METADATA_KEY_DURATION));