HarmonyOS 鸿蒙Next Video组件中的previewUri显示预览图,可以获取视频中的某个帧数显示在封面吗?

HarmonyOS 鸿蒙Next Video组件中的previewUri显示预览图,可以获取视频中的某个帧数显示在封面吗?

previewUri: 视频未播放时的预览图片路径,默认不显示图片。

(但是大多数案例都是把这个位置写成本地图片)

请问: 如何获取视频中的某个帧数,并把这个图片设置为封面? (动态设置当前视频的播放封面)

5 回复

有同样的需求,希望官方能提供基础的视频剪辑功能,ohpm 有基于 ffmpeg 封装的组件,但需要 API 10 以上,所以不急的话等 next 公测吧!

[@ohos/mp4parser](https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Fmp4parser)

更多关于HarmonyOS 鸿蒙Next Video组件中的previewUri显示预览图,可以获取视频中的某个帧数显示在封面吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


好的好的,谢谢!

自己搞一个native库剪辑

没什么思路,求指教,

在HarmonyOS中,Video组件的previewUri属性用于设置视频的预览图。previewUri接受一个URI,指向一个静态图片资源,作为视频的封面显示。该属性本身并不支持直接从视频中提取某一帧作为封面。

要实现从视频中提取某一帧作为封面,可以使用MediaLibraryAVPlayer等API来处理视频文件。通过AVPlayergetVideoTrackInfo方法可以获取视频的元数据,包括帧率、时长等信息。然后,通过AVPlayerseekToTime方法定位到指定的时间点,再使用captureFrame方法获取该时间点的帧图像。获取到的帧图像可以保存为图片文件,并将其URI赋值给previewUri属性,作为视频的封面。

具体实现步骤如下:

  1. 使用AVPlayer加载视频文件。
  2. 通过seekToTime方法定位到指定的时间点。
  3. 使用captureFrame方法获取该时间点的帧图像。
  4. 将帧图像保存为图片文件。
  5. 将图片文件的URI赋值给Video组件的previewUri属性。

这样即可实现从视频中提取某一帧作为封面。

回到顶部