export class Music{ constructor(api){this.api=api;this.enabled=true;this.paused=false;try{this.enabled=api.getStorageSync('number-swipe:music:v1')!=='off';}catch{}} scene(name){this.name=name;if(!this.enabled||this.paused||this.playing===name)return;try{if(!this.audio){this.audio=this.api.createInnerAudioContext();this.audio.loop=true;this.audio.volume=.16;this.audio.obeyMuteSwitch=false;this.audio.onError?.(()=>{this.playing=null;this.failed=true;});}if(this.failed)return;this.audio.stop();this.audio.src='music/'+name+'.wav';this.audio.play();this.playing=name;}catch{this.failed=true;}} stop(){this.audio?.stop();this.playing=null;} suspend(){this.paused=true;this.stop();} resume(){this.paused=false;this.failed=false;if(this.name)this.scene(this.name);} toggle(){this.enabled=!this.enabled;try{this.api.setStorageSync('number-swipe:music:v1',this.enabled?'on':'off');}catch{}this.stop();if(this.enabled)this.resume();} snapshot(){return {enabled:this.enabled,playing:this.playing||null};} }