gpt4 book ai didi

Android:如何获取应用程序私有(private)文件的视频缩略图?

转载 作者:可可西里 更新时间:2023-11-01 18:47:51 24 4
gpt4 key购买 nike

问题:

如何获取应用程序私有(private)文件的视频缩略图?具体来说,有没有办法直接从 .mpeg 文件中提取视频帧?

背景:

  1. 我的应用程序包含一个可以录制视频的摄像头。
  2. 出于产品原因,视频文件最初是在应用程序的私有(private)数据目录中以私有(private)模式创建和写入的,使其对应用程序私有(private)。这是使用以下方法完成的:Context#openFileOutput(fileName, Context.MODE_PRIVATE) - 典型的文件路径如下所示:/data/data/[package.name]/files/[fileName].mp4 - 仅供引用,我已经尝试使用 Context.MODE_WORLD_READABLE 而不是 Context.MODE_PRIVATE 但它没有帮助。
  3. 即使视频最终可能会在外部存储中结束(通过将文件移动到 Environment#getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)) ,缩略图必须在视频处于应用程序私有(private)存储中时显示。
  4. 好像ThumbnailUtils.createVideoThumbnail(String, int)将文件移动到公共(public)目录后(无论是否将其添加到 MediaStore),文件工作正常,但当文件在内部存储中时,静默失败(返回 null)。

    • 注意:只要视频文件在应用程序私有(private)存储中,它就不会添加到 MediaStore(设备库上的图像/视频内容提供者提供)。只有将视频移动到外部存储后,我才会将其添加到 MediaStore。这是一个与产品相关的决定,我无法绕过;除非有一种方法可以将视频添加到媒体存储中,而其他应用程序看不到它……我想知道是否可以将应用程序私有(private)存储中的视频添加到媒体存储中,并保持应用程序私有(private)但获得所有免费“服务” "由媒体商店提供,例如缩略图生成。

最佳答案

当然,您不能将 MediaStore 的东西用于私有(private)媒体。如果可能的话,我会使用图像处理库。我知道OpenCV can do that easily by extracting/resizing a frame. - 请查看第 2 页的中间部分。

关于Android:如何获取应用程序私有(private)文件的视频缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8595956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com