Skip to content

Cutscene audio keeps playing when out of focus #2362

@zeromido

Description

@zeromido

Prerequisites

  • I have searched for similar issues and confirmed this is not a duplicate

Game Version

  • Command & Conquer Generals
  • Command & Conquer Generals: Zero Hour
  • Other (please specify below)

Bug Description

Description

The audio doesn't want to stop when the game loses focus (Alt-Tab) or after pressing Esc to skip videos (sorry, I know this feature is new). This affects both Bink video files and real-time rendered sequences. As far as I can tell, music tracks pause when the game is out of focus and resume when it's back in focus. The issue seems to be with voiceover audio only.

Version

generals-weekly-2026-02-27
generalszh-weekly-2026-02-27

Observed Behavior

1. Bink Videos (Alt-Tab)

  • Issue: Audio continues to play in the background after switching windows.
  • Detail: If the audio has started playing, it does not pause or mute; it continues until the current speaker/audio buffer finishes.

2. Real-time Rendered Cutscenes (Alt-Tab)

  • Issue: Audio mutes on Alt-Tab but does not resume.
  • Detail: Upon returning to the game, the visual rendering continues, but the audio remains silent for the remainder of the sequence.

3. Manual Skip (Escape Key)

  • Issue: Bink audio is not terminated on skip.
  • Detail: Pressing Escape during a dialogue sequence skips the video, but if the voice-over audio has already started, it continues to play to completion. Also, pressing ESC during a game-engine cutscene shows the pause menu and doesn't skip it.

Expected Behavior

  • Global Focus: All game audio (including Bink and engine-rendered speech) should mute or pause immediately upon switching windows.
  • Resume Logic: Audio should resume in synchronization with the current visual frame upon the window regaining focus.
  • Interrupt Logic: Pressing the Escape key should call a termination command for any active voice/speech buffers associated with that scene including game-engine cutscenes

Reproduction Steps

  1. For Bink: Trigger a video cutscene -> wait for audio to start playing -> Alt-Tab. (Audio keeps playing).
  2. For Engine Scenes: Trigger a real-time scene -> wait for audio to start playing > Alt-Tab out -> Alt-Tab back in. (Audio is gone).
  3. For Escape Skip: Trigger a video cutscene -> wait for audio to start playing -> Press Esc. (Voice continues playing over the next screen).

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    AudioIs audio relatedBugSomething is not working right, typically is user facingMinorSeverity: Minor < Major < Critical < Blocker

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions