HarmonyOS 获取视频缩略图失败报错 5400106

使用 媒体服务api AVImageGenerator 获取视频缩略图失败,报错 5400106

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

根据报错信息,5400106,不支持该视频格式。可以试一下选择视频的uri来获得对应的PhotoAsset对象,读取视频的部分信息,可以参考如下代码:

async  uriGetAssets(uri:string) {
  try {
    let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(this.context);
    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
    // 配置查询条件,使用PhotoViewPicker选择图片返回的uri进行查询
    predicates.equalTo('uri', uri);
    let fetchOption: photoAccessHelper.FetchOptions = {
      fetchColumns: ['duration'],
      predicates: predicates
    };
    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
    // 得到uri对应的PhotoAsset对象,读取文件的部分信息
    const asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
    console.info('asset displayName: ', asset.displayName);
    console.info('asset uri: ', asset.uri);
    console.info('asset photoType: ', asset.photoType);
    // 获取时长
    let duration: photoAccessHelper.PhotoKeys = photoAccessHelper.PhotoKeys.DURATION;
    let photoAssetDuration: photoAccessHelper.MemberType = asset.get(duration.toString());
    console.info('asset duration: ', photoAssetDuration);
    // 获取缩略图
    asset.getThumbnail((err, pixelMap) => {
      if (err == undefined) {
        console.info('getThumbnail successful ' + JSON.stringify(pixelMap));
      } else {
        console.error('getThumbnail fail', err);
      }
    });
  } catch (error){
    console.error('uriGetAssets failed with err: ' + JSON.stringify(error));
  }
}

或者试一下三方库,来获取第一帧图片,三方库如下:https://gitee.com/openharmony-tpc/mp4parser

分享
微博
QQ
微信
回复
2天前
相关问题
缩略图,如何获取文件的缩略图
739浏览 • 1回复 待解决
HarmonyOS 根据视频路径生成缩略图
51浏览 • 1回复 待解决
HarmonyOS读取视频缩略图问题求助
630浏览 • 1回复 待解决
鸿蒙能获取图片指定大小的缩略图
9612浏览 • 1回复 待解决
HarmonyOS 视频播放偶现 5400106 错误码
49浏览 • 1回复 待解决
获取token失败报错信息 get token fail
819浏览 • 1回复 待解决
HarmonyOS 加载激励视频报错
288浏览 • 1回复 待解决
HarmonyOS获取NativeXcomponent失败
436浏览 • 1回复 待解决
HarmonyOS 打包签名失败报错code:109
99浏览 • 1回复 待解决
HarmonyOS 推送鉴权失败报错80200001
302浏览 • 1回复 待解决
HarmonyOS 视频编码surface模式运行报错
342浏览 • 1回复 待解决
HarmonyOS PUSH 获取id失败
372浏览 • 1回复 待解决
HarmonyOS 主动获取焦点失败
347浏览 • 1回复 待解决