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