Skip to content

Commit 5645f7b

Browse files
committed
feat(am-bg): 支持设置背景动画渲染比例
1 parent 0fe25e5 commit 5645f7b

3 files changed

Lines changed: 23 additions & 4 deletions

File tree

src/components/Player/PlayerBackground.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
:flowSpeed="flowSpeed"
2424
:hasLyric="musicStore.isHasLrc"
2525
:lowFreqVolume="lowFreqVolume"
26+
:renderScale="settingStore.playerBackgroundRenderScale ?? 0.5"
2627
/>
2728
</Transition>
2829
</div>
@@ -55,8 +56,6 @@ const { pause: pauseRaf, resume: resumeRaf } = useRafFn(
5556
statusStore.playStatus
5657
) {
5758
lowFreqVolume.value = player.getLowFrequencyVolume();
58-
} else {
59-
lowFreqVolume.value = 1.0;
6059
}
6160
},
6261
{ immediate: false },
@@ -70,8 +69,8 @@ watch(
7069
statusStore.playStatus,
7170
],
7271
([enabled, bgType, playing]) => {
73-
if (enabled && bgType === "animation" && playing) {
74-
resumeRaf();
72+
if (enabled && bgType === "animation") {
73+
playing ? resumeRaf() : pauseRaf();
7574
} else {
7675
pauseRaf();
7776
lowFreqVolume.value = 1.0;

src/components/Setting/PlaySetting.vue

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,23 @@
260260
placeholder="请输入背景动画流动速度"
261261
/>
262262
</n-card>
263+
<n-card class="set-item">
264+
<div class="label">
265+
<n-text class="name">背景渲染缩放比例</n-text>
266+
<n-text class="tip" :depth="3">设置当前渲染缩放比例,默认 0.5</n-text>
267+
<n-text class="tip" :depth="3">
268+
适当提高此值(如 1.0 或 1.5)可以减少分界线锯齿,让效果更好,但也会增加显卡压力
269+
</n-text>
270+
</div>
271+
<n-input-number
272+
v-model:value="settingStore.playerBackgroundRenderScale"
273+
:min="0.1"
274+
:max="10"
275+
:show-button="false"
276+
class="set"
277+
placeholder="请输入背景渲染缩放比例"
278+
/>
279+
</n-card>
263280
<n-card class="set-item">
264281
<div class="label">
265282
<n-text class="name">背景动画暂停时暂停</n-text>

src/stores/setting.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ export interface SettingState {
149149
playerBackgroundPause: boolean;
150150
/** 背景动画是否响应低频音量 */
151151
playerBackgroundLowFreqVolume: boolean;
152+
/** 背景动画渲染比例 */
153+
playerBackgroundRenderScale: number;
152154
/** 播放器元素自动隐藏 */
153155
autoHidePlayerMeta: boolean;
154156
/** 记忆最后进度 */
@@ -359,6 +361,7 @@ export const useSettingStore = defineStore("setting", {
359361
playerBackgroundFlowSpeed: 4,
360362
playerBackgroundPause: false,
361363
playerBackgroundLowFreqVolume: false,
364+
playerBackgroundRenderScale: 0.5,
362365
autoHidePlayerMeta: true,
363366
memoryLastSeek: true,
364367
progressTooltipShow: true,

0 commit comments

Comments
 (0)