feat(christmas): 增强粒子效果和音频状态管理
- 将粒子数量从1000增加到2000,尘埃粒子从2000增加到3000 - 修改 MediaPipe WASM 路径为本地 data/wasm 目录 - 实现音频状态的持久化存储和恢复功能 - 添加定时保存音频状态逻辑,每5秒保存一次 - 增强音频播放控制,确保循环播放和自动恢复 - 优化音频事件监听器,实时同步播放状态
This commit is contained in:
@@ -425,8 +425,8 @@
|
||||
accentRed: 0xcc0000, // 略微提亮红色
|
||||
},
|
||||
particles: {
|
||||
count: 1000,
|
||||
dustCount: 2000,
|
||||
count: 2000,
|
||||
dustCount: 3000,
|
||||
treeHeight: 24,
|
||||
treeRadius: 8
|
||||
},
|
||||
@@ -932,7 +932,7 @@
|
||||
async function initMediaPipe() {
|
||||
video = document.getElementById('webcam');
|
||||
const vision = await FilesetResolver.forVisionTasks(
|
||||
"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.3/wasm"
|
||||
"data/wasm"
|
||||
);
|
||||
// 使用 Google Cloud Storage 上的模型文件
|
||||
handLandmarker = await HandLandmarker.createFromOptions(vision, {
|
||||
@@ -1281,19 +1281,19 @@
|
||||
// 确保音频循环播放
|
||||
audio.loop = true;
|
||||
|
||||
// 保存音频状态到 localStorage
|
||||
// 保存音频状态到 sessionStorage
|
||||
function saveAudioState() {
|
||||
localStorage.setItem('bgMusicState', JSON.stringify({
|
||||
sessionStorage.setItem('bgMusicState', JSON.stringify({
|
||||
isPlaying: isPlaying && !audio.paused,
|
||||
isMuted: isMuted,
|
||||
currentTime: audio.currentTime
|
||||
}));
|
||||
}
|
||||
|
||||
// 从 localStorage 恢复音频状态
|
||||
// 从 sessionStorage 恢复音频状态
|
||||
function restoreAudioState() {
|
||||
try {
|
||||
const savedState = localStorage.getItem('bgMusicState');
|
||||
const savedState = sessionStorage.getItem('bgMusicState');
|
||||
if (savedState) {
|
||||
const state = JSON.parse(savedState);
|
||||
isMuted = state.isMuted;
|
||||
|
||||
22
data/wasm/vision_wasm_internal.js
Normal file
22
data/wasm/vision_wasm_internal.js
Normal file
File diff suppressed because one or more lines are too long
BIN
data/wasm/vision_wasm_internal.wasm
Normal file
BIN
data/wasm/vision_wasm_internal.wasm
Normal file
Binary file not shown.
22
data/wasm/vision_wasm_nosimd_internal.js
Normal file
22
data/wasm/vision_wasm_nosimd_internal.js
Normal file
File diff suppressed because one or more lines are too long
BIN
data/wasm/vision_wasm_nosimd_internal.wasm
Normal file
BIN
data/wasm/vision_wasm_nosimd_internal.wasm
Normal file
Binary file not shown.
Reference in New Issue
Block a user