From 23f8e37a3a6dfec380fc20d787ca260f063be2be Mon Sep 17 00:00:00 2001 From: lv <1344032923@qq.com> Date: Tue, 29 Apr 2025 13:01:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=8D=E7=85=A7=E4=B8=8D=E8=90=BD=E7=9B=98ba?= =?UTF-8?q?se64=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/ets/common/service/videoService.ts | 51 ++++++++++++++----- 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/entry/src/main/ets/common/service/videoService.ts b/entry/src/main/ets/common/service/videoService.ts index 835c903d..d443480b 100644 --- a/entry/src/main/ets/common/service/videoService.ts +++ b/entry/src/main/ets/common/service/videoService.ts @@ -123,7 +123,7 @@ async function getfilehandleCode(td, param, dir, path, index) { export async function getUserAlbumItemByDisplayName(displayName: string, day?, - type?): Promise { + type?): Promise { let fetchResult = null let album: photoAccessHelper.Album = null try { @@ -223,34 +223,61 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) { // @ts-ignore // var snapResult = rtsp_server.getVideoSnapshot(context, video_uri, '', dir); if (flag == 0) { - rtsp_server.detectVideoSnapshotSize(video_uri, fileName, (err, snapResult) => { - console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize); - callback({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode }) - }); + // return new + return new Promise(async (resolve, reject) => { + rtsp_server.detectVideoSnapshotSize(video_uri, fileName, false, (err, snapResult) => { + console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize, snapResult.dataString); + callback && callback({ + fileSize: snapResult.fileSize, + errorCode: snapResult.errorCode, + base64: snapResult.dataString + }) + resolve({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode, base64: snapResult.dataString }) + }); + }) + } else { return new Promise(async (resolve, reject) => { const time = await getCurrentTime() const date = time.split(' ')[0] let dirName = dir ? dir : date - rtsp_server.getVideoSnapshot(context, video_uri, fileName, dirName, true, async (err, snapResult) => { + rtsp_server.detectVideoSnapshotSize(video_uri, fileName, true, (err, snapResult) => { if (snapResult.result && snapResult.errorCode == 0) { - resolve({ - base64: snapResult.dataString, - name: snapResult.fileName, + console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize, snapResult.dataString); + callback && callback({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode, - path: snapResult.filePath + base64: snapResult.dataString }) + resolve({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode, base64: snapResult.dataString }) } else { promptAction.showToast({ message: `拍照失败`, duration: 3000 }); reject(false) - // reject() } }); + // rtsp_server.getVideoSnapshot(context, video_uri, fileName, dirName, true, async (err, snapResult) => { + // if (snapResult.result && snapResult.errorCode == 0) { + // resolve({ + // base64: snapResult.dataString, + // name: snapResult.fileName, + // fileSize: snapResult.fileSize, + // errorCode: snapResult.errorCode, + // path: snapResult.filePath + // }) + // } else { + // promptAction.showToast({ + // message: `拍照失败`, + // duration: 3000 + // }); + // reject(false) + // // reject() + // } + // + // }); }) } } @@ -268,7 +295,7 @@ export async function deleteAllFileByPiC(dirName, type = 1) { } export async function deleteAllVideos(context, type: photoAccessHelper.AlbumType, - subType: photoAccessHelper.AlbumSubtype): Promise { + subType: photoAccessHelper.AlbumSubtype): Promise { let fetchResult: photoAccessHelper.FetchResult = null; try { const userFileMgr = photoAccessHelper.getPhotoAccessHelper(context);