HarmonyOS读取视频封缩略图问题求助
视频缩略图需求已交,验收时发现一个问题,如何获取视频封面?根据文档可以正常读取resource/rawfile的缩略图但使用picker打开一个视频文件后,根据视频路径,无法读取到缩略图。https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/avimagegenerator-0000001868264077-V5
demo代码如下:
import media from '@ohos.multimedia.media';
import image from '@ohos.multimedia.image';
import { BusinessError } from '@ohos.base';
import picker from '@ohos.file.picker';
import fs from '@ohos.file.fs';
@Entry
@Component
struct PhotoPicker {
// pixelMap对象声明,用于图片显示
@State pixelMap: image.PixelMap | string | undefined = undefined;
build() {
Column() {
Button() {
Text('select').fontSize(20).fontWeight(FontWeight.Bold)
}
.margin({ top: 20 })
.width(100)
.height(40)
.onClick(() => {
this.showPicker()
})
Image(this.pixelMap).width(300).height(300).margin({ top: 20 })
}
.width('100%')
.height('100%')
}
showPicker() {
let PhotoSelectOptions = new picker.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.VIDEO_TYPE;
PhotoSelectOptions.maxSelectNumber = 1;
let photoPicker = new picker.PhotoViewPicker();
photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: picker.PhotoSelectResult) => {
this.testFetchFrameByTime(PhotoSelectResult.photoUris[0])
}).catch((err: BusinessError) => {
console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
});
}
// 在以下demo中,使用资源管理接口获取打包在HAP内的视频文件,通过设置fdSrc属性,
// 获取视频指定时间的缩略图,并通过Image控件显示在屏幕上。
async testFetchFrameByTime(filePath?: string) {
// 创建AVImageGenerator对象
let avImageGenerator: media.AVImageGenerator = await media.createAVImageGenerator()
// 设置fdSrc
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
avImageGenerator.fdSrc = {fd: file.fd}
// 初始化入参
let timeUs = 0
let queryOption = media.AVImageQueryOptions.AV_IMAGE_QUERY_NEXT_SYNC
let param: media.PixelMapParams = { width : 300, height : 300 }
// 获取缩略图(promise模式)
this.pixelMap = await avImageGenerator.fetchFrameByTime(timeUs, queryOption, param)
fs.closeSync(file);
// 释放资源(promise模式)
avImageGenerator.release()
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
缩略图,如何获取文件的缩略图
625浏览 • 1回复 待解决
HarmonyOS 沙箱中的视频怎么获取时长和缩略图
557浏览 • 2回复 待解决
HarmonyOS 相册里面的视频、GIF、图片如何获取缩略图地址而不是pixelMap ?
54浏览 • 1回复 待解决
鸿蒙能获取图片指定大小的缩略图吗
9431浏览 • 1回复 待解决
HarmonyOS 通过photoPicker.select打开图库选择某个视频后,如何获取对应的缩略图?
391浏览 • 1回复 待解决
#鸿蒙学习大百科#如何获取图片的缩略图?
186浏览 • 1回复 待解决
【List条目】不希望点条目里视频缩略图/单图的时候,条目背景置灰
760浏览 • 1回复 待解决
openHarmony使用mediaLibrary模块获取缩略图失败,返回error3
4965浏览 • 1回复 待解决
HarmonyOS 通过photoViewPicker.select选择一个mp4视频之后,如何获取对应的缩略图?
199浏览 • 1回复 待解决
自定义转场:实现缩略图查看大图缩放并且位置复原效果
737浏览 • 1回复 待解决
HarmonyOS视频解码问题
501浏览 • 1回复 待解决
HarmonyOS 文件上传 & 资源读取问题
366浏览 • 1回复 待解决
Harmony 如何读取本地视频文件路径?
14475浏览 • 2回复 待解决
HarmonyOS Video组件支持读取播放相册内的视频吗?
114浏览 • 0回复 待解决
ArtUI的简单问题求助!
6433浏览 • 1回复 待解决
js调用Java,问题求助?
5386浏览 • 1回复 待解决
求助各位大佬鸿蒙的视频压缩怎么实现?
7361浏览 • 1回复 待解决
HarmonyOS 视频录制相关问题
303浏览 • 0回复 待解决
HarmonyOS fs模块读取文件的问题
421浏览 • 1回复 待解决
AVMetadataHelper怎么读取media里的视频文件?
5732浏览 • 1回复 待解决
求助鸿蒙源代码的问题
3225浏览 • 1回复 待解决
@ohos.telephony.call问题求助
2522浏览 • 1回复 待解决
紧急求助 安装DevEco Studio 问题?
2068浏览 • 1回复 待解决
关于鸿蒙APP升级问题求助
5875浏览 • 1回复 待解决
HarmonyOS视频流缓存框架问题
241浏览 • 1回复 待解决
参考代码: