Skip to content

fix(splash): don't interrupt other apps' audio on cold start#125

Merged
abdulsaheel merged 1 commit into
OpenStrap:mainfrom
dannymcc:fix/splash-audio-mixwithothers
Jul 21, 2026
Merged

fix(splash): don't interrupt other apps' audio on cold start#125
abdulsaheel merged 1 commit into
OpenStrap:mainfrom
dannymcc:fix/splash-audio-mixwithothers

Conversation

@dannymcc

@dannymcc dannymcc commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Fixes #124 (thanks @batram for the report and the fix).

Problem

On a cold start Edge plays the splash video (assets/splash/splashscreen.mp4). Even though it's muted, the VideoPlayerController still requests audio focus, so it pauses whatever the user is already playing (music, podcast, etc.).

Fix

Pass VideoPlayerOptions(mixWithOthers: true) to the splash controller so it mixes with existing audio instead of interrupting it.

() => VideoPlayerController.asset(
      'assets/splash/splashscreen.mp4',
      videoPlayerOptions: VideoPlayerOptions(mixWithOthers: true),
    )

One line, no behavioural change to the splash itself (still muted, still freezes on the last frame).

Testing

Verified by inspection — reproduces the reporter's fix. Not runtime-tested (no device/Flutter SDK to hand); the change is confined to the splash controller options.

Summary by CodeRabbit

  • Bug Fixes
    • Improved splash video playback behavior by allowing it to mix with other audio sources.
    • Preserved existing reduced-motion handling and fallback behavior when video playback fails.

The muted splash video still requested audio focus, so on a cold start
Edge paused whatever the user was already playing. Pass
VideoPlayerOptions(mixWithOthers: true) so the splash mixes instead of
interrupting.
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: eeb00b30-48b8-4b92-aee4-0304ab67c7d6

📥 Commits

Reviewing files that changed from the base of the PR and between c947f86 and e3fa8fe.

📒 Files selected for processing (1)
  • lib/ui/splash/boot_splash.dart

📝 Walkthrough

Walkthrough

The splash video controller now uses VideoPlayerOptions(mixWithOthers: true) during asset initialization. Existing playback, reduced-motion, and static-fallback flows remain unchanged.

Changes

Splash audio behavior

Layer / File(s) Summary
Configure splash video audio mixing
lib/ui/splash/boot_splash.dart
The splash video controller enables audio mixing with other audio during initialization while retaining the existing playback and fallback flow.

Estimated code review effort: 2 (Simple) | ~5 minutes

Suggested reviewers: abdulsaheel

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the splash audio-mixing fix and matches the main code change.
Linked Issues check ✅ Passed The PR implements the requested VideoPlayerOptions(mixWithOthers: true) change in boot_splash.dart, matching issue #124.
Out of Scope Changes check ✅ Passed The change is narrowly scoped to the splash controller configuration and does not introduce unrelated behavior.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@abdulsaheel
abdulsaheel merged commit f8a1c1d into OpenStrap:main Jul 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

minor annoyance: edge stops audio playback on Android

2 participants