|
|
@@ -375,64 +375,6 @@ export class Utility {
|
|
|
}
|
|
|
|
|
|
|
|
|
- //获取资源的属性值
|
|
|
- static async uriGetAssets(context:Context,uri:string,type:number): Promise<VideoItem> {
|
|
|
- let isFromFileMan:boolean = false
|
|
|
- if(uri.startsWith('file://media')){//图库的视频
|
|
|
- isFromFileMan = false
|
|
|
- }else{//从文件管理器
|
|
|
- isFromFileMan = true
|
|
|
- }
|
|
|
-
|
|
|
- if(isFromFileMan){
|
|
|
- return await Utility.uriGetAssetsFromFile(context,uri,type);
|
|
|
- }
|
|
|
- try {
|
|
|
- let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
|
|
|
- let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
|
|
|
- // 配置查询条件,使用PhotoViewPicker选择图片返回的uri进行查询
|
|
|
- predicates.equalTo('uri', uri);
|
|
|
- let fetchOption: photoAccessHelper.FetchOptions = {
|
|
|
- fetchColumns: [photoAccessHelper.PhotoKeys.WIDTH, photoAccessHelper.PhotoKeys.HEIGHT,
|
|
|
- photoAccessHelper.PhotoKeys.TITLE, photoAccessHelper.PhotoKeys.SIZE, photoAccessHelper.PhotoKeys.DURATION],
|
|
|
- predicates: predicates
|
|
|
- };
|
|
|
- let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> =
|
|
|
- await phAccessHelper.getAssets(fetchOption);
|
|
|
- // 得到uri对应的PhotoAsset对象,读取文件的部分信息
|
|
|
- const asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
|
|
|
-
|
|
|
- let fd = await Utility.getFdDir(uri)
|
|
|
-
|
|
|
-
|
|
|
- let videoSize = asset.get(photoAccessHelper.PhotoKeys.SIZE).toString()
|
|
|
- let videoTime = asset.get(photoAccessHelper.PhotoKeys.DATE_ADDED_MS).toString()
|
|
|
- let fileSize = Utility.formatFSize(Number(videoSize))
|
|
|
- let cTime = Utility.getFormatDateStr(videoTime,'yyyy-MM-dd HH:mm')
|
|
|
- // let modifyDate = asset.get(photoAccessHelper.PhotoKeys.DATE_MODIFIED_MS).toString()
|
|
|
- let item:VideoItem = new VideoItem( asset.displayName, fd,uri,type,Number(videoSize),cTime,
|
|
|
- await Utility.getFetchFrameByTime(uri),fileSize)
|
|
|
- console.info('asset displayName: ', asset.displayName);
|
|
|
- console.info('asset uri: ', asset.uri);
|
|
|
- console.info('asset photoType: ', asset.photoType);
|
|
|
- console.info('asset width: ', asset.get(photoAccessHelper.PhotoKeys.WIDTH));
|
|
|
- console.info('asset height: ', asset.get(photoAccessHelper.PhotoKeys.HEIGHT));
|
|
|
- console.info('asset SIZE: ' + asset.get(photoAccessHelper.PhotoKeys.SIZE));
|
|
|
- console.info('asset DURATION: ' + asset.get(photoAccessHelper.PhotoKeys.DURATION));
|
|
|
- // 获取缩略图
|
|
|
- // asset.getThumbnail((err, pixelMap) => {
|
|
|
- // if (err == undefined) {
|
|
|
- // console.info('getThumbnail successful ' + JSON.stringify(pixelMap));
|
|
|
- // } else {
|
|
|
- // console.error('getThumbnail fail', err);
|
|
|
- // }
|
|
|
- // });
|
|
|
- return item
|
|
|
- } catch (error) {
|
|
|
- console.error('uriGetAssets failed with err: ' + JSON.stringify(error));
|
|
|
- return new VideoItem('','','',0,0,'')
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
static getTimestampFromDateStr(dateStr: string, format: string = 'yyyy-MM-dd HH:mm'): number {
|
|
|
// 定义正则表达式以匹配日期字符串中的各部分
|
|
|
@@ -718,6 +660,8 @@ export class Utility {
|
|
|
|
|
|
if(StrUtil.isNotEmpty(metadata.album)){
|
|
|
album = metadata.album
|
|
|
+ }else{
|
|
|
+ album = ''
|
|
|
}
|
|
|
|
|
|
if(StrUtil.isNotEmpty(metadata.duration)){
|