Skip to content

WASAPI: Disable default communication ducking for all NVDA audio streams.#17374

Merged
seanbudd merged 1 commit into
nvaccess:masterfrom
jcsteh:commDuck
Nov 9, 2024
Merged

WASAPI: Disable default communication ducking for all NVDA audio streams.#17374
seanbudd merged 1 commit into
nvaccess:masterfrom
jcsteh:commDuck

Conversation

@jcsteh

@jcsteh jcsteh commented Nov 8, 2024

Copy link
Copy Markdown
Contributor

Link to issue number:

Fixes #17349.

Summary of the issue:

Windows has a concept of communication audio streams. When an app (Skype, Signal, Discord, Phone Link, etc.) opens a communication audio stream, by default, the volume of audio from non-communication apps is significantly reduced. This includes NVDA. This effectively makes NVDA unusable for speech users while on a call with such an application.

There is a setting to disable this for all audio streams on the system: Sound Properties -> Communications -> WhenWindows detects communications activity: Do nothing. However:

  1. This doesn't work properly, which seems to be a long standing Windows bug.
  2. Even if it did, I don't think we ever want NVDA's audio to be ducked by the system, regardless of this setting.

Description of user facing changes

When using applications such as Skype, Discord, Signal and Phone Link for audio communication, NVDA speech and sounds no longer decrease in volume.

Description of development approach

Windows allows this default ducking experience to be disabled for a WASAPI stream. This change calls the appropriate API methods in WasapiPlayer to opt out of this ducking.

Testing strategy:

I tested this with Phone Link. Before this change, making a phone call would cause NVDA speech to severely decrease in volume. After this change, NVDA's volume remains untouched.

Known issues with pull request:

None.

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@coderabbitai summary

@jcsteh jcsteh requested a review from a team as a code owner November 8, 2024 11:31
@jcsteh jcsteh requested a review from SaschaCowley November 8, 2024 11:31
@seanbudd seanbudd merged commit a7ec356 into nvaccess:master Nov 9, 2024
@github-actions github-actions Bot added this to the 2025.1 milestone Nov 9, 2024
@jcsteh jcsteh deleted the commDuck branch May 25, 2026 04:01
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.

NVDA wont stop audio ducking

2 participants