我正在尝试从mediastore获取MKV文件的持续时间。但是,它返回0.如果我使用Mediaplayer MediaPlayer.create
,则媒体播放器为空,我收到错误(-1,2147483648),并显示准备失败的消息。我可以使用扩展名mp4获取其他视频的持续时间。路径有问题吗?有人可以帮忙吗?
第一种方法:
long duration = cursor.getLong(MediaStore.Video.VideoColumns.DURATION);
这将返回0.
第二种方法:
Uri uri = Uri.fromFile(new File(filePath));
MediaPlayer mp = MediaPlayer.create(TestApplication.getAppContext(), uri);
// uri is file:///storage/emulated/0/Movies/Test.MKV
这会返回mp = null。
我也尝试了MediaMetadataRetriever
,但也返回了null。我怎样才能获得持续时间?
答案 0 :(得分:0)
似乎MKV文件已损坏。因此,关闭此。