From 0a9552f33d853adf9bf1473e0dc72b37a6a5c3a6 Mon Sep 17 00:00:00 2001 From: CodingGorit Date: Tue, 6 May 2025 15:49:29 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=BA=9F=E5=BC=83API=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/entryability/EntryAbility.ets | 1 + entry/src/main/ets/pages/Index.ets | 14 +++++++------- entry/src/main/ets/pages/Recorder.ets | 12 ++++++------ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index e45511c..7796bda 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -50,6 +50,7 @@ export default class EntryAbility extends UIAbility { hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; } + AppStorage.setOrCreate("context", windowStage.getMainWindowSync().getUIContext()); hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); }); } diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 9adab6b..6bcd909 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -14,7 +14,7 @@ */ import { fileIo } from '@kit.CoreFileKit'; -import { display, promptAction, router } from '@kit.ArkUI'; +import { display } from '@kit.ArkUI'; import { camera } from '@kit.CameraKit'; import { photoAccessHelper } from '@kit.MediaLibraryKit'; import player from 'libplayer.so'; @@ -47,7 +47,7 @@ struct Player { .then((photoSelectResult) => { this.selectFilePath = photoSelectResult.photoUris[0]; if (this.selectFilePath === null) { - promptAction.showToast({ + this.getUIContext().getPromptAction().showToast({ message: $r('app.string.alert'), duration: Const.DURATION, bottom: Const.BOTTOM @@ -77,7 +77,7 @@ struct Player { } async checkIsProfileSupport(): Promise { - let cameraManager: camera.CameraManager = camera.getCameraManager(getContext(this)); + let cameraManager: camera.CameraManager = camera.getCameraManager(this.getUIContext().getHostContext()); if (!cameraManager) { Logger.error(TAG, 'camera.getCameraManager error!'); } @@ -85,7 +85,7 @@ struct Player { let videoProfile: undefined | camera.VideoProfile = videoProfileCheck(cameraManager, this.cameraData); if (!videoProfile) { Logger.error(TAG, 'videoProfile is not found'); - promptAction.showToast({ + this.getUIContext().getPromptAction().showToast({ message: $r('app.string.alert_setting'), duration: Const.DURATION, bottom: Const.BOTTOM, @@ -110,7 +110,7 @@ struct Player { .backgroundColor($r('app.color.set_button_background')) .margin({ right: $r('app.float.set_button_margin_right') }) .onClick(() => { - TextPickerDialog.show({ + this.getUIContext().showTextPickerDialog({ defaultPickerItemHeight: Const.DEFAULT_PICKER_ITEM_HEIGHT, selectedTextStyle: ({ font: ({ @@ -194,7 +194,7 @@ struct Player { SaveButton({ text: SaveDescription.SAVE }) .onClick(async () => { - const context = getContext(this); + const context = this.getUIContext().getHostContext(); let helper = photoAccessHelper.getPhotoAccessHelper(context); let uri = await helper.createAsset(photoAccessHelper.PhotoType.VIDEO, 'mp4', { title: `AVCodecVideo_${DATETIME.getDate()}_${DATETIME.getTime()}` @@ -207,7 +207,7 @@ struct Player { this.cameraData.bitRate).then((data) => { if (data.surfaceId !== null) { this.cameraData.surfaceId = data.surfaceId; - router.pushUrl({ + this.getUIContext().getRouter().pushUrl({ url: 'pages/Recorder', params: this.cameraData }); diff --git a/entry/src/main/ets/pages/Recorder.ets b/entry/src/main/ets/pages/Recorder.ets index 15b5501..54aaacb 100644 --- a/entry/src/main/ets/pages/Recorder.ets +++ b/entry/src/main/ets/pages/Recorder.ets @@ -15,7 +15,7 @@ import { camera } from '@kit.CameraKit'; import { fileIo } from '@kit.CoreFileKit'; -import { display, router } from '@kit.ArkUI'; +import { display } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; import { colorSpaceManager } from '@kit.ArkGraphics2D'; import recorder from 'librecorder.so'; @@ -26,8 +26,8 @@ import { CameraDataModel } from '../model/CameraDateModel'; import { previewProfileCameraCheck, videoProfileCheck } from '../common/utils/CameraCheck'; const TAG: string = Const.RECORDER_TAG; - -const params: CameraDataModel = router.getParams() as CameraDataModel; +const context = AppStorage.get("context") as UIContext; +const params: CameraDataModel = context.getRouter().getParams() as CameraDataModel; let cameraInput: camera.CameraInput; let XComponentPreviewOutput: camera.PreviewOutput; @@ -140,7 +140,7 @@ struct Recorder { onPageHide() { this.release(); if (!this.isBack) { - router.back(); + this.getUIContext().getRouter().back(); } } @@ -170,7 +170,7 @@ struct Recorder { async createRecorder(): Promise { releaseCamera(); // Create the CameraManager object. - let cameraManager = camera.getCameraManager(getContext()); + let cameraManager = camera.getCameraManager(this.getUIContext().getHostContext()); if (!cameraManager) { Logger.error(TAG, 'camera.getCameraManager error'); return; @@ -370,7 +370,7 @@ struct Recorder { this.buttonEnabled = false; this.release(); this.isBack = true; - router.back(); + this.getUIContext().getRouter().back(); }) .enabled(this.buttonEnabled) } -- Gitee