From fc2ec26edaea26aed89f123551fee0365e839311 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sat, 21 Sep 2024 04:26:56 +1200 Subject: [PATCH] Add option to disable audio in bg --- materialious/src/lib/Player.svelte | 15 +++-- materialious/src/lib/Settings.svelte | 87 +++++++++++++++++----------- materialious/src/lib/store.ts | 1 + 3 files changed, 63 insertions(+), 40 deletions(-) diff --git a/materialious/src/lib/Player.svelte b/materialious/src/lib/Player.svelte index 610479ae..416c0f5a 100644 --- a/materialious/src/lib/Player.svelte +++ b/materialious/src/lib/Player.svelte @@ -25,6 +25,7 @@ instanceStore, miniPlayerSrcStore, playerAlwaysLoopStore, + playerAndroidBgPlayer, playerAutoPlayStore, playerProxyVideosStore, playerSavePlaybackPositionStore, @@ -340,7 +341,7 @@ await loadPlayerPos(); }); - if (Capacitor.getPlatform() === 'android') { + if (Capacitor.getPlatform() === 'android' && get(playerAndroidBgPlayer)) { const highestBitrateAudio = data.video.adaptiveFormats .filter((format) => format.type.startsWith('audio/')) .reduce((prev, current) => { @@ -368,11 +369,13 @@ }); AudioPlayer.onAppLosesFocus(audioId, async () => { - await AudioPlayer.play(audioId); - await AudioPlayer.seek({ - ...audioId, - timeInSeconds: Math.round(player.currentTime) - }); + if (!player.paused) { + await AudioPlayer.play(audioId); + await AudioPlayer.seek({ + ...audioId, + timeInSeconds: Math.round(player.currentTime) + }); + } }); await AudioPlayer.initialize(audioId); diff --git a/materialious/src/lib/Settings.svelte b/materialious/src/lib/Settings.svelte index 88110d49..07995851 100644 --- a/materialious/src/lib/Settings.svelte +++ b/materialious/src/lib/Settings.svelte @@ -22,6 +22,7 @@ interfaceRegionStore, interfaceSearchSuggestionsStore, playerAlwaysLoopStore, + playerAndroidBgPlayer, playerAutoPlayStore, playerAutoplayNextByDefaultStore, playerListenByDefaultStore, @@ -259,40 +260,6 @@
{$_('layout.player.title')}
- {#if Capacitor.isNativePlatform()} -
- -
- -
- -
- {/if} -
+ {#if Capacitor.getPlatform() === 'android'} +
+ +
+ {/if} + {#if Capacitor.isNativePlatform()}
+ + {#if Capacitor.isNativePlatform()} +
+ +
+ +
+ +
+ {/if}
diff --git a/materialious/src/lib/store.ts b/materialious/src/lib/store.ts index fee4fb3c..7aa226a9 100644 --- a/materialious/src/lib/store.ts +++ b/materialious/src/lib/store.ts @@ -40,6 +40,7 @@ export const playerAutoplayNextByDefaultStore = persisted('autoplayNextByDefault export const playerMiniPlayerStore = persisted('miniPlayer', true); export const playerYouTubeJsFallback = persisted('youTubeJsFallback', true); export const playerYouTubeJsAlways = persisted('youTubeJsAlways', false); +export const playerAndroidBgPlayer = persisted('androidBgPlayer', true); export const returnYtDislikesStore = persisted('returnYtDislikes', false); export const returnYTDislikesInstanceStore: Writable = persisted(