From 1266f00e6a0a1c0f126ee8d59e470761489bc20a Mon Sep 17 00:00:00 2001 From: WX1379483 Date: Thu, 8 May 2025 11:20:07 +0800 Subject: [PATCH] fixed --- entry/src/main/ets/entryability/EntryAbility.ets | 2 ++ entry/src/main/ets/pages/AVPlayer.ets | 11 ++++++----- entry/src/main/ets/pages/VideoPlay.ets | 7 ++++--- entry/src/main/ets/pages/WindowPip.ets | 5 +++-- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 26f7915..66ae67b 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -36,6 +36,8 @@ export default class EntryAbility extends UIAbility { return; } hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); + let uiContext: UIContext | undefined = windowStage.getMainWindowSync().getUIContext() + AppStorage.setOrCreate('uiContext', uiContext); }); } diff --git a/entry/src/main/ets/pages/AVPlayer.ets b/entry/src/main/ets/pages/AVPlayer.ets index 9745417..789d18d 100644 --- a/entry/src/main/ets/pages/AVPlayer.ets +++ b/entry/src/main/ets/pages/AVPlayer.ets @@ -19,7 +19,8 @@ import { common } from '@kit.AbilityKit'; import { media } from '@kit.MediaKit'; import { Constants } from '../constants/Constants'; import Logger from '../utils/Logger'; - +const uiContext: UIContext | undefined = AppStorage.get('uiContext'); +let UIContext = uiContext!.getHostContext()!; export class AVPlayer { private avPlayer?: media.AVPlayer; // The surfaceID is used to display the screen. @@ -33,7 +34,7 @@ export class AVPlayer { constructor(surfaceID: string, type: number) { this.surfaceID = surfaceID; this.type = type; - getContext().eventHub.on('appStateChange', (fg: boolean) => { + UIContext.eventHub.on('appStateChange', (fg: boolean) => { if (fg) { if (this.State === Constants.PAUSED_STATUS) { this.avPlayer?.play(); @@ -77,7 +78,7 @@ export class AVPlayer { // Call the release operation to destroy the instance object. this.avPlayer.release(); } else { - let context = getContext(this) as common.UIAbilityContext; + let context = UIContext as common.UIAbilityContext; let fileDescriptor: resourceManager.RawFileDescriptor; fileDescriptor = await context.resourceManager.getRawFd('video.mp4'); this.avPlayer.fdSrc = fileDescriptor; @@ -133,7 +134,7 @@ export class AVPlayer { } }); this.avPlayer?.on('videoSizeChange', (width: number, height: number) => { - getContext().eventHub.emit('videoSizeRatio', width, height); + UIContext.eventHub.emit('videoSizeRatio', width, height); }) } @@ -146,7 +147,7 @@ export class AVPlayer { this.avPlayer = await media.createAVPlayer(); // Create a callback function for state machine changes. this.setAVPlayerCallback(); - let context = getContext(this) as common.UIAbilityContext; + let context = UIContext as common.UIAbilityContext; let fileDescriptor = await context.resourceManager.getRawFd('video.mp4'); // Assign a value to fdSrc to trigger an initialized state machine report. this.avPlayer.fdSrc = fileDescriptor; diff --git a/entry/src/main/ets/pages/VideoPlay.ets b/entry/src/main/ets/pages/VideoPlay.ets index 5eb9f74..20cda19 100644 --- a/entry/src/main/ets/pages/VideoPlay.ets +++ b/entry/src/main/ets/pages/VideoPlay.ets @@ -20,7 +20,8 @@ import { AVPlayer } from './AVPlayer'; import Logger from '../utils/Logger'; const TAG = Constants.NAV_DESTINATION_NAME; - +const uiContext: UIContext | undefined = AppStorage.get('uiContext'); +let UIContext = uiContext!.getHostContext()!; @Extend(Text) function textType() { .padding({ left: $r('app.integer.other_padding') }) @@ -52,7 +53,7 @@ export struct PlayVideo { navigationId: string = ''; player?: AVPlayer; pipController?: PiPWindow.PiPController; - eventHub = getContext().eventHub; + eventHub = UIContext.eventHub; private scrollerForScroll: Scroller = new Scroller() aboutToAppear(): void { @@ -84,7 +85,7 @@ export struct PlayVideo { async createPipController() { this.pipController = await PiPWindow.create({ - context: getContext(this), + context: UIContext, componentController: this.mXComponentController, navigationId: this.navigationId, templateType: PiPWindow.PiPTemplateType.VIDEO_PLAY diff --git a/entry/src/main/ets/pages/WindowPip.ets b/entry/src/main/ets/pages/WindowPip.ets index 67048e2..6243b3a 100644 --- a/entry/src/main/ets/pages/WindowPip.ets +++ b/entry/src/main/ets/pages/WindowPip.ets @@ -16,7 +16,8 @@ import { Constants } from '../constants/Constants'; import { PlayVideo } from './VideoPlay'; import Logger from '../utils/Logger'; - +const uiContext: UIContext | undefined = AppStorage.get('uiContext'); +let UIContext = uiContext!.getHostContext()!; @Component struct ImageWidthTitle { @State imageHeight: number = 0; @@ -36,7 +37,7 @@ struct ImageWidthTitle { } .alignItems(HorizontalAlign.Start) .onClick(() => { - getContext().eventHub.emit('onStateChange', true); + UIContext.eventHub.emit('onStateChange', true); this.pageInfos?.pushPath({ name: Constants.NAV_DESTINATION_NAME }, { launchMode: 3 }); }) .onAreaChange((oldArea: Area, newArea: Area) => { -- Gitee