From 0649c66f0e3c110b116f069bc6f3f1499bcfb27a Mon Sep 17 00:00:00 2001 From: xieyifeng Date: Wed, 18 Jun 2025 20:53:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9D=80=E6=AD=BBability=E7=9A=84=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E5=88=A0=E9=99=A4=E4=BB=BB=E5=8A=A1=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/module.json5 | 1 + 1 file changed, 1 insertion(+) diff --git a/entry/src/main/module.json5 b/entry/src/main/module.json5 index c9d2fde..16a9bcf 100644 --- a/entry/src/main/module.json5 +++ b/entry/src/main/module.json5 @@ -34,6 +34,7 @@ "label": "$string:EntryAbility_label", "startWindowIcon": "$media:icon", "startWindowBackground": "$color:start_window_background", + "removeMissionAfterTerminate": true, "exported": false, "backgroundModes": [ "audioPlayback" -- Gitee From 90ad80a18f0ee35f295398aebb85dff6c5402ec6 Mon Sep 17 00:00:00 2001 From: xieyifeng Date: Fri, 20 Jun 2025 15:59:40 +0800 Subject: [PATCH 2/3] =?UTF-8?q?HMOS=E4=B8=96=E7=95=8C=E9=9F=B3=E9=A2=91?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E6=9D=80=E6=8E=89=E8=BF=9B=E7=A8=8B=E6=97=B6?= =?UTF-8?q?=E5=88=A0=E9=99=A4Storage=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ets/songdatacontroller/PlayerData.ets | 2 +- .../songdatacontroller/SongItemBuilder.ets | 2 +- .../main/ets/utils/AVSessionController.ets | 20 ++++++------ .../ets/utils/AudioRendererController.ets | 32 +++++++++---------- .../common/constants/BreakpointConstants.ets | 2 +- .../ets/common/utils/ResourceConversion.ets | 2 +- .../ets/components/ControlAreaComponent.ets | 30 ++++++++--------- .../main/ets/components/LyricsComponent.ets | 10 +++--- .../ets/components/MusicInfoComponent.ets | 6 ++-- .../ets/components/PlayerInfoComponent.ets | 18 +++++------ .../main/ets/components/TopAreaComponent.ets | 6 ++-- .../main/ets/entryability/EntryAbility.ets | 16 +++++----- entry/src/main/ets/lyric/LrcView.ets | 2 +- entry/src/main/ets/pages/PlayerPage.ets | 25 ++++++++++++++- 14 files changed, 98 insertions(+), 75 deletions(-) diff --git a/MediaService/src/main/ets/songdatacontroller/PlayerData.ets b/MediaService/src/main/ets/songdatacontroller/PlayerData.ets index bec3561..bf2101e 100644 --- a/MediaService/src/main/ets/songdatacontroller/PlayerData.ets +++ b/MediaService/src/main/ets/songdatacontroller/PlayerData.ets @@ -40,7 +40,7 @@ export enum AudioPlayerState { export const SECOND_BUFFER_WALK = 48000 * 2 * 2; -export const SELECT_MUSIC_INDEX = 'selectIndex'; +export const SELECT_MUSIC_INDEX = 'audioInterSelectIndex'; export const TOTAL_MS_NUMBER_NUMBER_DURATION = 'totalMsDuration'; diff --git a/MediaService/src/main/ets/songdatacontroller/SongItemBuilder.ets b/MediaService/src/main/ets/songdatacontroller/SongItemBuilder.ets index 08277e6..06a29d7 100644 --- a/MediaService/src/main/ets/songdatacontroller/SongItemBuilder.ets +++ b/MediaService/src/main/ets/songdatacontroller/SongItemBuilder.ets @@ -22,7 +22,7 @@ import { SongItem } from './SongData'; const TAG: string = '[SongItemBuilder]'; export default class SongItemBuilder { - private context: common.UIAbilityContext | undefined = AppStorage.get('context'); + private context: common.UIAbilityContext | undefined = AppStorage.get('audioInterContext'); private rawFileDescriptor?: resourceManager.RawFileDescriptor; private songItem: SongItem | null = null; diff --git a/MediaService/src/main/ets/utils/AVSessionController.ets b/MediaService/src/main/ets/utils/AVSessionController.ets index 4a31fec..3b92bb4 100644 --- a/MediaService/src/main/ets/utils/AVSessionController.ets +++ b/MediaService/src/main/ets/utils/AVSessionController.ets @@ -34,7 +34,7 @@ export class AVSessionController { private audioRendererController: AudioRendererController | undefined = undefined; constructor() { - let list: SongItem[] | undefined = AppStorage.get('songList'); + let list: SongItem[] | undefined = AppStorage.get('audioInterSongList'); if (list) { this.songList = list; } @@ -42,22 +42,22 @@ export class AVSessionController { } public static getInstance(): AVSessionController { - let avSessionController: AVSessionController | undefined = AppStorage.get('AVSessionController'); + let avSessionController: AVSessionController | undefined = AppStorage.get('audioInterAVSessionController'); if (!avSessionController) { avSessionController = new AVSessionController(); - AppStorage.setOrCreate('AVSessionController', avSessionController); + AppStorage.setOrCreate('audioInterAVSessionController', avSessionController); } return avSessionController; } private async initAVSession() { - this.context = AppStorage.get('context'); + this.context = AppStorage.get('audioInterContext'); if (!this.context) { Logger.info(TAG, `session create failed : conext is undefined`); return; } - this.audioRendererController = AppStorage.get('audioRendererController'); + this.audioRendererController = AppStorage.get('audioInterAudioRendererController'); if (!this.audioRendererController) { Logger.info(TAG, `session create failed : audioRendererController is undefined`); return; @@ -96,7 +96,7 @@ export class AVSessionController { } private getDuration() { - let duration: number | undefined = AppStorage.get('totalMsTime'); + let duration: number | undefined = AppStorage.get('audioInterTotalMsTime'); if (!duration) { Logger.error(TAG, 'get duration failed'); return; @@ -112,7 +112,7 @@ export class AVSessionController { } public async setAVMetadata() { - this.musicIndex = AppStorage.get('selectIndex'); + this.musicIndex = AppStorage.get('audioInterSelectIndex'); Logger.info(TAG, 'current musicIndex is:' + this.musicIndex); if (this.musicIndex === undefined) { this.musicIndex = 0; @@ -237,7 +237,7 @@ export class AVSessionController { return; } let currentPlayMode: MusicPlayMode = this.audioRendererController.getPlayMode(); - AppStorage.setOrCreate('playMode', currentPlayMode); + AppStorage.setOrCreate('audioInterPlayMode', currentPlayMode); } public setPlayModeToAVSession() { @@ -320,7 +320,7 @@ export class AVSessionController { await PreferencesUtil.getInstance().addFormId(this.context, assetId); isFavorite = true; } - AppStorage.setOrCreate('isFavorite', isFavorite); + AppStorage.setOrCreate('audioInterIsFavorite', isFavorite); this.setFavoriteState(isFavorite); } @@ -335,7 +335,7 @@ export class AVSessionController { } else { isFavorite = false; } - AppStorage.setOrCreate('isFavorite', isFavorite); + AppStorage.setOrCreate('audioInterIsFavorite', isFavorite); this.setFavoriteState(isFavorite); } diff --git a/MediaService/src/main/ets/utils/AudioRendererController.ets b/MediaService/src/main/ets/utils/AudioRendererController.ets index 5511455..695a02f 100644 --- a/MediaService/src/main/ets/utils/AudioRendererController.ets +++ b/MediaService/src/main/ets/utils/AudioRendererController.ets @@ -31,7 +31,7 @@ const TAG: string = '[AudioRendererController]'; export class AudioRendererController { public audioRenderer?: audio.AudioRenderer; - private context: common.UIAbilityContext | undefined = AppStorage.get('context'); + private context: common.UIAbilityContext | undefined = AppStorage.get('audioInterContext'); private songItemBuilder: SongItemBuilder = new SongItemBuilder(); private playMode: MusicPlayMode = MusicPlayMode.ORDER; private isFirst: boolean = true; @@ -46,7 +46,7 @@ export class AudioRendererController { private avSessionController: AVSessionController | undefined = undefined; constructor() { - let list: SongItem[] | undefined = AppStorage.get('songList'); + let list: SongItem[] | undefined = AppStorage.get('audioInterSongList'); if (list) { this.songList = list; } @@ -55,10 +55,10 @@ export class AudioRendererController { } public static getInstance(): AudioRendererController { - let audioRendererController: AudioRendererController | undefined = AppStorage.get('audioRendererController'); + let audioRendererController: AudioRendererController | undefined = AppStorage.get('audioInterAudioRendererController'); if (!audioRendererController) { audioRendererController = new AudioRendererController(); - AppStorage.setOrCreate('audioRendererController', audioRendererController); + AppStorage.setOrCreate('audioInterAudioRendererController', audioRendererController); } return audioRendererController; } @@ -212,7 +212,7 @@ export class AudioRendererController { } else { isSupportSilent = false; } - AppStorage.setOrCreate('isSilentMode', isSupportSilent); + AppStorage.setOrCreate('audioInterIsSilentMode', isSupportSilent); this.audioRenderer.setSilentModeAndMixWithOthers(isSupportSilent); } @@ -250,7 +250,7 @@ export class AudioRendererController { } this.audioRenderer.setSilentModeAndMixWithOthers(isSupportSilent); } - AppStorage.setOrCreate('isSilentMode', isSupportSilent); + AppStorage.setOrCreate('audioInterIsSilentMode', isSupportSilent); } /** @@ -291,9 +291,9 @@ export class AudioRendererController { this.currentOffset = this.initOffset; this.bufferNeedRead = this.songRawFileDescriptor.length; this.bufferRead = 0; - AppStorage.setOrCreate('totalTime', MediaTools.msToCountdownTime(this.getDuration())); - AppStorage.setOrCreate('totalMsTime', this.getDuration()); - AppStorage.setOrCreate('progressMax', this.getDuration()); + AppStorage.setOrCreate('audioInterTotalTime', MediaTools.msToCountdownTime(this.getDuration())); + AppStorage.setOrCreate('audioInterTotalMsTime', this.getDuration()); + AppStorage.setOrCreate('audioInterProgressMax', this.getDuration()); } /** @@ -329,7 +329,7 @@ export class AudioRendererController { } private updateIsPlay(isPlay: boolean) { - AppStorage.setOrCreate('isPlay', isPlay); + AppStorage.setOrCreate('audioInterIsPlay', isPlay); if (!this.avSessionController) { return; } @@ -338,7 +338,7 @@ export class AudioRendererController { private getDuration() { if (this.audioRenderer && this.songRawFileDescriptor) { - AppStorage.setOrCreate('totalByteLength', this.songRawFileDescriptor.length); + AppStorage.setOrCreate('audioInterTotalByteLength', this.songRawFileDescriptor.length); return MediaTools.getMsFromByteLength(this.songRawFileDescriptor.length); } return 0; @@ -386,8 +386,8 @@ export class AudioRendererController { */ public seek(ms: number) { this.curMs = ms; - AppStorage.setOrCreate('progress', this.curMs); - AppStorage.setOrCreate('currentTime', MediaTools.msToCountdownTime(this.curMs)); + AppStorage.setOrCreate('audioInterProgress', this.curMs); + AppStorage.setOrCreate('audioInterCurrentTime', MediaTools.msToCountdownTime(this.curMs)); if (!this.avSessionController) { return; } @@ -485,8 +485,8 @@ export class AudioRendererController { this.curMs = 0; this.updateIsPlay(false); this.audioRenderer.flush(); - AppStorage.setOrCreate('currentTime', '00:00'); - AppStorage.setOrCreate('progress', 0); + AppStorage.setOrCreate('audioInterCurrentTime', '00:00'); + AppStorage.setOrCreate('audioInterProgress', 0); Logger.info(TAG, 'stop success'); } catch (e) { Logger.error(TAG, `stop failed,audioRenderer is undefined`); @@ -522,7 +522,7 @@ export class AudioRendererController { private updateMusicIndex(musicIndex: number) { Logger.info(TAG, 'updateMusicIndex ===> ' + musicIndex); - AppStorage.setOrCreate('selectIndex', musicIndex); + AppStorage.setOrCreate('audioInterSelectIndex', musicIndex); if (this.musicIndex !== musicIndex) { this.musicIndex = musicIndex; } diff --git a/entry/src/main/ets/common/constants/BreakpointConstants.ets b/entry/src/main/ets/common/constants/BreakpointConstants.ets index 5c24cc2..67f15ae 100644 --- a/entry/src/main/ets/common/constants/BreakpointConstants.ets +++ b/entry/src/main/ets/common/constants/BreakpointConstants.ets @@ -72,7 +72,7 @@ export class BreakpointConstants { /** * Current breakpoints that to query the device types. */ - public static readonly CURRENT_BREAKPOINT: string = 'currentBreakpoint'; + public static readonly CURRENT_BREAKPOINT: string = 'audioInterCurrentBreakpoint'; /** * Range of the small device width. */ diff --git a/entry/src/main/ets/common/utils/ResourceConversion.ets b/entry/src/main/ets/common/utils/ResourceConversion.ets index b6b5e90..40b9e20 100644 --- a/entry/src/main/ets/common/utils/ResourceConversion.ets +++ b/entry/src/main/ets/common/utils/ResourceConversion.ets @@ -19,7 +19,7 @@ export class ResourceConversion { private context: common.UIAbilityContext | undefined = undefined; constructor() { - this.context = AppStorage.get('context'); + this.context = AppStorage.get('audioInterContext'); } getStringValueFromResource(res: Resource) { diff --git a/entry/src/main/ets/components/ControlAreaComponent.ets b/entry/src/main/ets/components/ControlAreaComponent.ets index 08384ab..03a68a2 100644 --- a/entry/src/main/ets/components/ControlAreaComponent.ets +++ b/entry/src/main/ets/components/ControlAreaComponent.ets @@ -34,20 +34,20 @@ const TAG: string = '[ControlAreaComponent]' @Component export struct ControlAreaComponent { - @StorageProp('currentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; - @StorageLink('isPlay') isPlay: boolean = false; - @StorageLink('currentTime') currentTime: string = '00:00'; - @StorageLink('totalTime') totalTime: string = '00:00'; - @StorageLink('progress') value: number = 0; - @StorageLink('progressMax') max: number = 0; + @StorageProp('audioInterCurrentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; + @StorageLink('audioInterIsPlay') isPlay: boolean = false; + @StorageLink('audioInterCurrentTime') currentTime: string = '00:00'; + @StorageLink('audioInterTotalTime') totalTime: string = '00:00'; + @StorageLink('audioInterProgress') value: number = 0; + @StorageLink('audioInterProgressMax') max: number = 0; @State playModeIndex: number = 0; - @StorageLink('pageShowTime') pageShowTime: number = 0; - @StorageLink('songList') songList: SongItem[] = []; + @StorageLink('audioInterPageShowTime') pageShowTime: number = 0; + @StorageLink('audioInterSongList') songList: SongItem[] = []; @State isShowPlayList: boolean = false; - @StorageLink('playMode') playMode: MusicPlayMode = playModeSwitchList[this.playModeIndex]; - @StorageLink('selectIndex') selectIndex: number = 0; - @StorageLink('isFavorite') isFavorite: boolean = false; - @StorageLink('isSilentMode') isSilentMode: boolean = false; + @StorageLink('audioInterPlayMode') playMode: MusicPlayMode = playModeSwitchList[this.playModeIndex]; + @StorageLink('audioInterSelectIndex') selectIndex: number = 0; + @StorageLink('audioInterIsFavorite') isFavorite: boolean = false; + @StorageLink('audioInterIsSilentMode') isSilentMode: boolean = false; private scroller: Scroller = new Scroller(); private resourceConversion: ResourceConversion = new ResourceConversion(); @@ -314,9 +314,9 @@ function controlImageBuilder() { @Reusable @Component struct MusicListContainer { - @StorageLink('isPlay') isPlay: boolean = false; - @StorageProp('currentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; - @StorageLink('selectIndex') selectIndex: number = 0; + @StorageLink('audioInterIsPlay') isPlay: boolean = false; + @StorageProp('audioInterCurrentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; + @StorageLink('audioInterSelectIndex') selectIndex: number = 0; item: SongItem | undefined = undefined; index: number | undefined = undefined; diff --git a/entry/src/main/ets/components/LyricsComponent.ets b/entry/src/main/ets/components/LyricsComponent.ets index 4c1233a..2c5cd1d 100644 --- a/entry/src/main/ets/components/LyricsComponent.ets +++ b/entry/src/main/ets/components/LyricsComponent.ets @@ -31,16 +31,16 @@ const TAG: string = '[LyricsComponent]'; @Component export struct LyricsComponent { - @StorageProp('currentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; - @StorageLink('progress') time: number = 0; + @StorageProp('audioInterCurrentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; + @StorageLink('audioInterProgress') time: number = 0; @State lyricScrollEffect: LyricScrollEffect = LyricScrollEffect.Line; @State mLrcEntryList: Array = []; - @StorageLink('songList') songList: SongItem[] = []; - @StorageProp('selectIndex') @Watch('getLrcEntryList') selectIndex: number = 0; + @StorageLink('audioInterSongList') songList: SongItem[] = []; + @StorageProp('audioInterSelectIndex') @Watch('getLrcEntryList') selectIndex: number = 0; @Link isShowControl: boolean; @Link isTablet: boolean; @State pageShowTime: number = 0; - private context: common.UIAbilityContext | undefined = AppStorage.get('context'); + private context: common.UIAbilityContext | undefined = AppStorage.get('audioInterContext'); aboutToAppear() { this.getLrcEntryList(); diff --git a/entry/src/main/ets/components/MusicInfoComponent.ets b/entry/src/main/ets/components/MusicInfoComponent.ets index df81b14..0446034 100644 --- a/entry/src/main/ets/components/MusicInfoComponent.ets +++ b/entry/src/main/ets/components/MusicInfoComponent.ets @@ -23,9 +23,9 @@ import { display } from '@kit.ArkUI'; @Component export struct MusicInfoComponent { - @StorageProp('currentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; - @StorageLink('songList') songList: SongItem[] = []; - @StorageProp('selectIndex') selectIndex: number = 0; + @StorageProp('audioInterCurrentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; + @StorageLink('audioInterSongList') songList: SongItem[] = []; + @StorageProp('audioInterSelectIndex') selectIndex: number = 0; build() { GridRow({ diff --git a/entry/src/main/ets/components/PlayerInfoComponent.ets b/entry/src/main/ets/components/PlayerInfoComponent.ets index 3ff0cf6..94498cf 100644 --- a/entry/src/main/ets/components/PlayerInfoComponent.ets +++ b/entry/src/main/ets/components/PlayerInfoComponent.ets @@ -32,22 +32,22 @@ const TAG: string = '[PlayerInfoComponent]'; @Component export struct PlayerInfoComponent { - @StorageProp('currentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; - @StorageLink('songList') songList: SongItem[] = []; - @StorageProp('selectIndex') @Watch('getImageColor') selectIndex: number = 0; - @StorageLink('imageColor') imageColor: string = 'rgba(0, 0, 2, 1.00)'; - @StorageLink('topHeight') topHeight: number = 0; - @StorageLink('bottomHeight') bottomHeight: number = 0; + @StorageProp('audioInterCurrentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_SM; + @StorageLink('audioInterSongList') songList: SongItem[] = []; + @StorageProp('audioInterSelectIndex') @Watch('getImageColor') selectIndex: number = 0; + @StorageLink('audioInterImageColor') imageColor: string = 'rgba(0, 0, 2, 1.00)'; + @StorageLink('audioInterTopHeight') topHeight: number = 0; + @StorageLink('audioInterBottomHeight') bottomHeight: number = 0; @State imageLabel: PixelMap | Resource = this.songList[this.selectIndex].label; @State isShowControl: boolean = true; @State isShowControlLg: boolean = false; @State isTablet: boolean = true; @State isTabletFalse: boolean = false; - @StorageLink('pageShowTime') pageShowTime: number = 0; + @StorageLink('audioInterPageShowTime') pageShowTime: number = 0; @State intervalID: number = 0; @Link isShowPlay: boolean; - @StorageLink('isFoldFull') isFoldFull: boolean = false; - private context: common.UIAbilityContext | undefined = AppStorage.get('context'); + @StorageLink('audioInterIsFoldFull') isFoldFull: boolean = false; + private context: common.UIAbilityContext | undefined = AppStorage.get('audioInterContext'); private callback: Callback = (data: display.FoldDisplayMode) => { if (canIUse('SystemCapability.Window.SessionManager')) { if (data === display.FoldDisplayMode.FOLD_DISPLAY_MODE_FULL) { diff --git a/entry/src/main/ets/components/TopAreaComponent.ets b/entry/src/main/ets/components/TopAreaComponent.ets index 4283ae4..d606983 100644 --- a/entry/src/main/ets/components/TopAreaComponent.ets +++ b/entry/src/main/ets/components/TopAreaComponent.ets @@ -20,9 +20,9 @@ import { BreakpointType } from '../common/utils/BreakpointSystem'; @Component export struct TopAreaComponent { - @StorageProp('currentBreakpoint') currentBreakpoint: string = 'sm'; - @StorageLink('songList') songList: SongItem[] = []; - @StorageProp('selectIndex') @Watch('getIsDark') selectIndex: number = 0; + @StorageProp('audioInterCurrentBreakpoint') currentBreakpoint: string = 'sm'; + @StorageLink('audioInterSongList') songList: SongItem[] = []; + @StorageProp('audioInterSelectIndex') @Watch('getIsDark') selectIndex: number = 0; @State isDark: boolean = true; @State color: Color = Color.White diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 7b77848..d9345e5 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -25,10 +25,10 @@ export default class EntryAbility extends UIAbility { private windowObj?: window.Window; onCreate() { - AppStorage.setOrCreate('context', this.context) + AppStorage.setOrCreate('audioInterContext', this.context) AppStorage.setOrCreate('AVAbilityContext', this.context); hilog.info(0x0000, TAG, '%{public}s', 'Ability onCreate'); - AppStorage.setOrCreate('systemColorMode', this.context.config.colorMode); + AppStorage.setOrCreate('audioInterSystemColorMode', this.context.config.colorMode); this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); } @@ -40,11 +40,11 @@ export default class EntryAbility extends UIAbility { let newColorMode: ConfigurationConstant.ColorMode = newConfig.colorMode || ConfigurationConstant.ColorMode.COLOR_MODE_DARK; let currentColorMode: ConfigurationConstant.ColorMode | undefined = - AppStorage.get('systemColorMode'); + AppStorage.get('audioInterSystemColorMode'); if (newColorMode !== currentColorMode) { - AppStorage.setOrCreate('systemColorMode', newColorMode); + AppStorage.setOrCreate('audioInterSystemColorMode', newColorMode); } - AppStorage.setOrCreate('systemLanguage', newConfig.language); + AppStorage.setOrCreate('audioInterSystemLanguage', newConfig.language); } onWindowStageCreate(windowStage: window.WindowStage) { @@ -57,10 +57,10 @@ export default class EntryAbility extends UIAbility { data.setWindowLayoutFullScreen(true); let topArea = this.windowObj.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM) let topHeight = px2vp(topArea.topRect.height) - AppStorage.setOrCreate('topHeight', topHeight) + AppStorage.setOrCreate('audioInterTopHeight', topHeight) let bottomArea = this.windowObj.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR) let bottomHeight = px2vp(bottomArea.bottomRect.height) - AppStorage.setOrCreate('bottomHeight', bottomHeight) + AppStorage.setOrCreate('audioInterBottomHeight', bottomHeight) this.updateBreakpoint(this.windowObj.getWindowProperties().windowRect.width); this.windowObj.on('windowSizeChange', (windowSize: window.Size) => { this.updateBreakpoint(windowSize.width); @@ -93,7 +93,7 @@ export default class EntryAbility extends UIAbility { } else { curBp = BreakpointConstants.BREAKPOINT_LG; } - AppStorage.setOrCreate('currentBreakpoint', curBp); + AppStorage.setOrCreate('audioInterCurrentBreakpoint', curBp); } catch (err) { hilog.error(0X0000, TAG, '%{public}s', `updateBreakpoint catch err. code: ${err.code}, message: ${err.message}`); } diff --git a/entry/src/main/ets/lyric/LrcView.ets b/entry/src/main/ets/lyric/LrcView.ets index 9326b1e..f299e4c 100644 --- a/entry/src/main/ets/lyric/LrcView.ets +++ b/entry/src/main/ets/lyric/LrcView.ets @@ -53,7 +53,7 @@ const GRADIENT_PROGRESS_MAX = 1 - GRADIENT_PROGRESS_SPACE; @Component export default struct shiLrcView { - @StorageLink('systemLanguage') @Watch('languageChange') language: string = 'zh-Hans-CN'; + @StorageLink('audioInterSystemLanguage') @Watch('languageChange') language: string = 'zh-Hans-CN'; /** * Current lyric time [ms]. */ diff --git a/entry/src/main/ets/pages/PlayerPage.ets b/entry/src/main/ets/pages/PlayerPage.ets index 6051c89..a8d0a08 100644 --- a/entry/src/main/ets/pages/PlayerPage.ets +++ b/entry/src/main/ets/pages/PlayerPage.ets @@ -29,7 +29,7 @@ struct PlayerPage { private breakpointSystem: BreakpointSystem = new BreakpointSystem(); aboutToAppear(): void { - AppStorage.setOrCreate('songList', songList); + AppStorage.setOrCreate('audioInterSongList', songList); AudioRendererController.getInstance(); this.breakpointSystem.register(); } @@ -37,6 +37,29 @@ struct PlayerPage { aboutToDisappear(): void { this.breakpointSystem.unregister(); AudioRendererController.getInstance().release(); + AppStorage.delete('audioInterCurrentBreakpoint'); + AppStorage.delete('audioInterIsPlay'); + AppStorage.delete('audioInterCurrentTime'); + AppStorage.delete('audioInterTotalTime'); + AppStorage.delete('audioInterProgress'); + AppStorage.delete('audioInterProgressMax'); + AppStorage.delete('audioInterPageShowTime'); + AppStorage.delete('audioInterSongList'); + AppStorage.delete('audioInterPlayMode'); + AppStorage.delete('audioInterSelectIndex'); + AppStorage.delete('audioInterIsFavorite'); + AppStorage.delete('audioInterIsSilentMode'); + AppStorage.delete('audioInterImageColor'); + AppStorage.delete('audioInterTopHeight'); + AppStorage.delete('audioInterBottomHeight'); + AppStorage.delete('audioInterIsFoldFull'); + AppStorage.delete('audioInterSystemLanguage'); + AppStorage.delete('audioInterContext'); + AppStorage.delete('audioInterSystemColorMode'); + AppStorage.delete('audioInterAudioRendererController'); + AppStorage.delete('audioInterTotalMsTime'); + AppStorage.delete('audioInterTotalByteLength'); + AppStorage.delete('audioInterAVSessionController'); } build() { -- Gitee From 8f57f62c9ae831563c963c32aec416720c2f005f Mon Sep 17 00:00:00 2001 From: xieyifeng Date: Fri, 20 Jun 2025 16:48:43 +0800 Subject: [PATCH 3/3] =?UTF-8?q?HMOS=E4=B8=96=E7=95=8C=E9=9F=B3=E9=A2=91?= =?UTF-8?q?=E6=8A=95=E6=92=ADrelease=20avSession?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MediaService/src/main/ets/utils/AVSessionController.ets | 1 + 1 file changed, 1 insertion(+) diff --git a/MediaService/src/main/ets/utils/AVSessionController.ets b/MediaService/src/main/ets/utils/AVSessionController.ets index 3b92bb4..6210124 100644 --- a/MediaService/src/main/ets/utils/AVSessionController.ets +++ b/MediaService/src/main/ets/utils/AVSessionController.ets @@ -362,5 +362,6 @@ export class AVSessionController { this.avSession.off('setLoopMode'); this.avSession.off('seek'); this.avSession.off('toggleFavorite'); + this.avSession.destroy(); } } \ No newline at end of file -- Gitee