MediaMetadataRetriever在Android 11中引发RuntimeException

问题描述

我正在尝试使用MediaMetadataRetriever从视频中获取帧,而仅在Android 11中,函数MetadataRetriever.setDataSource(path: String)会引发如下异常:

java.lang.RuntimeException: setDataSource Failed: status = 0xFFFFFFEA

我注意到在Android 11中,该功能添加以下信息:The path,or the URI (doesn't support streaming source currently) of the input media file.

这是否意味着Android 11中不再支持MediaMetadataRetriever中的视频文件

解决方法

我找到了解决方案。我希望它有帮助,按如下方式使用 MetadataRetriever

inputStream = new FileInputStream(file.getAbsolutePath());
retriever.setDataSource(inputStream.getFD());