fix(app): Spotify resumed wieder nach TTS — nudgeMediaResume mit TRANSIENT
Stefan-Bug-Report: ARIA liest Nachricht vor, Spotify pausiert korrekt, ARIA spricht durch — aber Spotify spielt danach NICHT automatisch weiter. Sollte mit GAIN_TRANSIENT auto-resumen, tut es aber bei manchen Spotify-Versionen/Geraeten nicht zuverlaessig. Hintergrund: alte kickReleaseMedia() mit AUDIOFOCUS_GAIN (permanent) war zu aggressiv (Spotify interpretierte als "user stoppte" = Auto-Resume kaputt). Wurde entfernt. Jetzt ist das Pendel andersrum zu weit: ohne Nudge keine Resume. Sanfter Mittelweg: nudgeMediaResume() mit GAIN_TRANSIENT statt GAIN-permanent. 100ms hold, abandon. Spotify bekommt Focus-Wechsel- Hint ohne "user stopped"-Effekt. audio.ts: nach AudioFocus.release() 50ms warten, dann nudgeMediaResume. AudioFocusModule.kt: neue Methode + alte kickReleaseMedia bleibt mit ⚠️-Markierung fuer andere Use-Cases. APK neu bauen erforderlich. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,7 @@ const { AudioFocus, PcmStreamPlayer } = NativeModules as {
|
||||
AudioFocus?: {
|
||||
requestDuck: () => Promise<boolean>;
|
||||
requestExclusive: () => Promise<boolean>;
|
||||
nudgeMediaResume: () => Promise<boolean>;
|
||||
release: () => Promise<boolean>;
|
||||
kickReleaseMedia: () => Promise<boolean>;
|
||||
getMode?: () => Promise<number>;
|
||||
@@ -332,6 +333,13 @@ class AudioService {
|
||||
}
|
||||
console.log('[Audio] AudioFocus jetzt released');
|
||||
AudioFocus?.release().catch(() => {});
|
||||
// Spotify-Resume-Trigger: nach Abandon den USAGE_MEDIA-Focus-Stack
|
||||
// mit kurzem TRANSIENT-Nudge aufmischen. Spotify resumed sonst bei
|
||||
// manchen Versionen / Geraeten nicht zuverlaessig nach Auto-Loss.
|
||||
// 50ms Delay damit das Abandon erst durch ist.
|
||||
setTimeout(() => {
|
||||
AudioFocus?.nudgeMediaResume().catch(() => {});
|
||||
}, 50);
|
||||
}, this.FOCUS_RELEASE_DELAY_MS);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user