/
chewy
/
BDZ_GenAI
Обзор
Документация
Войти
/
chewy
/
BDZ_GenAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/ambient.js
34 строки
1 KB
pichugin.sa
Раскидал все по папкам, чтобы нормально выглядел репозиторий
16 ноя 2025, 21:55
16 ноя 2025, 21:55
bd854ee
Код
Авторство
О чём код?
let ambient = { wind: null, rain: null, playing: false }; export function ensureAmbientAudio(){ if(ambient.wind) return ambient; ambient.wind = new Audio('./wind.mp3'); ambient.wind.loop = true; ambient.wind.volume = 0.12; ambient.rain = new Audio('./rain.mp3'); ambient.rain.loop = true; ambient.rain.volume = 0.06; // expose ambient on window for legacy access try{ window.ambient = ambient; }catch(e){} return ambient; } export function updateAmbientSound(weather, dayPhase){ ensureAmbientAudio(); const kind = weather && weather.kind ? weather.kind : 'clear'; if(!ambient.playing){ ambient.wind.play().catch(()=>{}); ambient.playing = true; } if(kind === 'rain'){ ambient.rain.play().catch(()=>{}); ambient.rain.volume = 0.09; } else { if(!ambient.rain.paused) ambient.rain.pause(); } ambient.wind.volume = (dayPhase === 'night') ? 0.08 : 0.12; if(kind === 'rain') ambient.rain.volume = (dayPhase === 'night') ? 0.06 : 0.09; } export function setAmbientEnabled(enabled){ ensureAmbientAudio(); if(!enabled){ try{ ambient.wind.pause(); ambient.rain && ambient.rain.pause(); ambient.playing = false; }catch(e){} } else { try{ ambient.wind.play().catch(()=>{}); ambient.playing = true; }catch(e){} } } export default { ensureAmbientAudio, updateAmbientSound, setAmbientEnabled, };