问题的根源在于UsbFile
从mjdev:libaums和UsbStorageProvider。如何从UsbStorageProvider文档获取视频缩略图uri
我尝试从uri.getPath()提取视频帧 - > /document/usb1002:/GOPR04252.MP4
像 ImageUtils.getVideoThumbnail(documentUri.getPath(), size.x, size.y);
方法从ImageUtils
public static Bitmap getVideoThumbnail(String path, int mMaxWidth, int mMaxHeight){
Bitmap.Config mDecodeConfig = Bitmap.Config.RGB_565;
ImageView.ScaleType mScaleType = ImageView.ScaleType.CENTER_CROP;
File bitmapFile = new File(path);
Bitmap bitmap = null;
if (!bitmapFile.exists() || !bitmapFile.isFile()) {
return bitmap;
}
....
}
但它返回null。 为什么以及如何解决?是否有任何其他的方式来解决这个问题
OR
//row.add(Document.COLUMN_PATH, getUsbPath(file));
评论getUsbPath
方法调用如何实现getUsbPath(UsbFile)方法返回路径,文件?
假设,我们可以解决的情况,如果我们在AnExplorer转换UsbFile
到File
或documentUri
到File
在样品话implimenting视频缩略图USB OTG
@pskink这将工作在外部的情况下,我有docId usb1002:/GOPR0462.MP4和docRootId =“usb1002”,但getThumbnail需要很长的ID。检查它的文档 – Qamar
好吧,然后尝试'MediaMetadataRetriever'它有'setDataSource(Context context,Uri uri)'方法,所以它可以工作 – pskink
@pskink无法设置uri。它说java.lang.RuntimeException:setDataSource失败:status = 0xFFFFFFEA – Qamar