HarmonyOS 鸿蒙Next 如何获取视频封面图的jpg图片地址
HarmonyOS 鸿蒙Next 如何获取视频封面图的jpg图片地址
通过以下方式可以获取到视频封面图的pixelMap信息,但是无法获取对应这个封面图jpg沙箱地址。
// 获取视频缩略图
public static async uriGetAssets(context: Context, uri: string, callBack: Function) {
try {
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
// 配置查询条件,使用PhotoViewPicker选择图片返回的uri进行查询
predicates.equalTo('uri', uri);
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> =
await phAccessHelper.getAssets(fetchOption);
// 得到uri对应的PhotoAsset对象,读取文件的部分信息
const asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
Log.debug('asset displayName: ', asset.displayName);
Log.debug('asset uri: ', asset.uri);
Log.debug('asset photoType: ' + asset.photoType);
// Log.debug('asset width: ' + asset.get(photoAccessHelper.PhotoKeys.WIDTH));
// Log.debug('asset height: ' + asset.get(photoAccessHelper.PhotoKeys.HEIGHT));
// 获取缩略图
asset.getThumbnail((err, pixelMap) => {
if (err == undefined) {
Log.debug('getThumbnail successful ' + JSON.stringify(pixelMap));
if (callBack) {
callBack(pixelMap)
}
} else {
Log.error('getThumbnail fail' + err);
// 可以获取成功,但是不知道怎么获取这个视频封面图jpg地址
if (callBack) {
callBack(pixelMap)
}
}
});
} catch (error) {
Log.error('uriGetAssets failed with err: ' + JSON.stringify(error));
}
}
更多关于HarmonyOS 鸿蒙Next 如何获取视频封面图的jpg图片地址的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复