Compare commits

..

2 Commits

Author SHA1 Message Date
6c12cfd49b Merge branch 'offline-mode' 2026-03-16 20:33:03 +01:00
f777873432 work around opus bug 2026-02-20 16:21:22 +01:00

View File

@@ -78,8 +78,16 @@
let volumeBar = $state(); let volumeBar = $state();
let innerWidth = $state(); let innerWidth = $state();
let innerHeight = $state(); let innerHeight = $state();
let isSafari = $state(false);
onMount(async () => { onMount(async () => {
// work around coreaudio bug
// see https://git.webbieweb.org/apt-get/strimserve/issues/1
const ua = navigator.userAgent;
const isIOS = /iPad|iPhone|iPod/.test(ua);
const isDesktopSafari = /Safari/.test(ua) && !/Chrome/.test(ua) && !/Chromium/.test(ua);
isSafari = isIOS || isDesktopSafari;
// default volume // default volume
const volumeData = localStorage.getItem('volume'); const volumeData = localStorage.getItem('volume');
volume = volumeData ? parseFloat(volumeData) : 0.67; volume = volumeData ? parseFloat(volumeData) : 0.67;
@@ -311,8 +319,13 @@
onended={bubble('ended')} onended={bubble('ended')}
{preload} {preload}
> >
<source {src} type="audio/ogg;codecs=opus" /> {#if isSafari}
<source src="{src}.mp3" type="audio/mpeg" /> <source src="{src}.mp3" type="audio/mpeg" />
<source {src} type="audio/ogg;codecs=opus" />
{:else}
<source {src} type="audio/ogg;codecs=opus" />
<source src="{src}.mp3" type="audio/mpeg" />
{/if}
</audio> </audio>
<style> <style>