我在从 Assets 文件夹中的 mp4 文件创建缩略图时遇到问题。尝试输入不同的 Assets 路径但没有效果。我该如何解决?
那是我的适配器代码:
VideoEntry video = videos.get(position);
holder.txtTitle.setText(video.getTitle());
holder.imgIcon.setImageBitmap(ThumbnailUtils.createVideoThumbnail("file:///android_asset/videos/Core/Superman.mp4", Thumbnails.MICRO_KIND));
怎么了?
解决方案:
AssetManager am = getAssets();
InputStream ims = am.open("images/" + category + "/" + item.replace(" ", "_").replace(".mp4", ".png").toLowerCase());
Drawable d = Drawable.createFromStream(ims, null);
holder.imgIcon.setImageDrawable(d);
ThumbnailUtils.createVideoThumbnail()
仅从 MediaStore
查询现有缩略图,如果不存在则强制 MediaStore
创建它。这意味着您不能为 MediaStore
不可用的视频文件创建缩略图,因为它是您的应用程序的 Assets ,而不是 SD 卡上的实际文件。您可以将文件解压缩到 SD 卡或仅提供您自己在其他应用程序中创建的缩略图。希望这可以帮助。
我是一名优秀的程序员,十分优秀!