Skip to content

[Feature] Windows 11 SMTC (System Media Transport Controls) integration #885

Description

@chirag127

Feature Request: Windows 11 SMTC (System Media Transport Controls) Integration

Problem

Musify on Windows 11 does not register itself with the System Media Transport Controls (SMTC) — the Windows API that powers:

  • The Win + K cast/audio overlay with playback controls
  • The lock screen media card (album art, track title, play/pause/next)
  • Taskbar thumbnail toolbar media buttons
  • Hardware keyboard media keys (Fn+Play, Fn+Next)
  • Third-party overlays like Music Presence, MediaInfo, and Discord's automatic game/media detection

Without SMTC, Musify on Windows feels unintegrated with the OS: hardware keys do nothing, the lock screen shows no media info, and Windows 11's built-in media experience is completely bypassed.

Proposed Solution

Implement Windows.Media.SystemMediaTransportControls so Musify:

  1. Reports current track metadata (title, artist, album, thumbnail) to SMTC
  2. Responds to SMTC playback commands (play, pause, next, previous, seek)
  3. Updates playback position in real time for the progress bar on the lock screen overlay

For Flutter on Windows, the smtc_windows pub.dev package (MIT license) provides this integration with minimal code. Alternatively, a direct WinRT FFI call to the COM interface works.

Why it matters

Musify is cross-platform Flutter app targeting Windows among other platforms. Every other major Windows media player (Spotify, VLC, Groove, Windows Media Player) integrates with SMTC. The absence makes Musify a second-class citizen on Windows 11.

References

Platform

Windows 11.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions