Skip to content

About

A keyboard-first audio player for Windows built with C# WinForms and WMP COM. Features global media keys, custom forward hotkey, A-B repeat, playback speed control, album art, mini mode, and session restore. Equalizer & video player coming soon.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Latest Release License: MIT Platform

🎡 AudioPlayerApp

A lightweight, keyboard-first audio player for Windows built with C# WinForms and Windows Media Player (WMP) COM. Designed for power users who want full control without touching the mouse.

⚑ No external media framework required – uses the built-in WMP engine for playback, plus TagLib# for metadata and album art.


✨ Features

🎹 Full Keyboard Control

Key Action
Space / K Play / Pause
Esc Stop
← / β†’ Seek βˆ’5s / +10s
J / L Seek βˆ’10s / +10s
Ctrl+← / Ctrl+β†’ Previous / Next track
↑ / ↓ Volume +5 / βˆ’5
F6 Mute / Unmute
Delete Remove selected track
Ctrl+O Open files
Ctrl+S / Ctrl+L Save / Load playlist (.m3u)
Ctrl+0…9 Jump to 0%–90% of track
A / B / C Set A-B repeat / Clear
F3 Toggle Repeat One
F4 Clear playlist
F5 Refresh track list
F7 Now Playing info
F8 Toggle Shuffle
F9 Toggle Mini Mode
0–9 Speed preset (0.25x – 2.5x)
F1 Show shortcut help
F2 Settings (forward key & seconds)

🌐 Global Media Keys

Works even when the app is minimized or in the background:

  • Media Next / Previous / Stop / Play-Pause – fully mapped.
  • Custom Forward Hotkey – assign any key (A–Z, arrows) with Ctrl+Alt modifier, and set forward duration in seconds.

🎨 UI & Experience

  • Album art and artist metadata via TagLib#.
  • Custom seek bar with draggable fill.
  • Mini Mode – compact layout for small screens.
  • Search / filter tracks by name.
  • Drag & drop files or folders to load.
  • Session restore – remembers last playlist, track, and position.
  • Dark theme with orange accents.

🧠 Advanced Playback

  • A-B Repeat – set loop points on the fly.
  • Playback speed control – 0.25x to 2.5x (WMP rate).
  • Shuffle and Repeat One modes.
  • Volume persistence and mute toggle.

πŸ“¦ Requirements

  • Windows 7 / 8 / 10 / 11
  • .NET Framework 4.7.2
  • Windows Media Player (installed by default on most Windows systems)
  • TagLib# 2.3.0 (via NuGet – included in packages.config)

πŸš€ Getting Started

  1. Clone the repository

    git clone https://github.com/TahirAhmad88/AudioPlayerApp.git
    
  2. Open in Visual Studio (2017 or later).

  3. Restore NuGet packages (TagLib# is already referenced).

  4. Build and run (F5).

  5. Load audio files via Ctrl+O, drag & drop, or double-click a track.

πŸ’‘ The app uses the Windows Media Player COM control (AxWMPLib). If it's missing, enable it via Turn Windows features on or off β†’ Media Features β†’ Windows Media Player.

πŸ—‚οΈ Project Structure

AudioPlayerApp/

β”œβ”€β”€ Form1.cs # Main logic (playback, hotkeys, UI events)

β”œβ”€β”€ Form1.Designer.cs # UI layout (WinForms)

β”œβ”€β”€ Program.cs # Entry point/

β”œβ”€β”€ Properties/

β”‚ β”œβ”€β”€ Settings.settings # User settings (forward key, seconds)

β”‚ └── Resources.resx # Default album art (audiopic.png)

β”œβ”€β”€ packages.config # NuGet dependencies (TagLib#)

└── AudioPlayerApp.csproj # Project file

πŸ› οΈ Configuration Settings are stored in:

%APPDATA%\AudioPlayerApp\settings.ini

  • ForwardKey – global forward hotkey (default: Right)

  • ForwardSeconds – forward duration (default: 10)

  • LastPlaylist, LastTrack, LastPosition – session restore data

🧩 Future Roadmap

This project is actively evolving. Planned updates:

  • Built-in Equalizer (10-band, presets, bass boost)
  • Video Player Mode (MP4, MKV, AVI support via WMP)
  • Playlist Manager (drag-to-reorder, save/load multiple lists)
  • Lyrics Support (.lrc sync)
  • Custom Themes (light / dark / neon)
  • Cross-platform exploration (.NET MAUI / Avalonia)

The roadmap is flexible – future updates will be driven by user feedback and technical feasibility.

🀝 Contributing

Contributions are welcome! If you find a bug or have a feature request, please open an issue or submit a pull request.

  1. Fork the repo

  2. Create a feature branch (git checkout -b feature/equalizer)

  3. Commit your changes (git commit -m 'Add equalizer')

  4. Push to the branch (git push origin feature/equalizer)

  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License – see the LICENSE file for details.

  • πŸ‘€ Author Tahir Ahmad

  • GitHub: @TahirAhmad88

LinkedIn: www.linkedin.com/in/tahir-ahmad88

⭐ Show Your Support If you like this project, please star ⭐ the repository and share it with others who might find it useful.

πŸ“Έ Screenshots

Screenshot 2026-09-19 204746 image image image image

πŸ™ Acknowledgements

  • TagLib# – for audio metadata and album art.

  • Windows Media Player COM – for reliable playback on Windows.

  • .NET Framework – the foundation of this app.

Built with ❀️ for keyboard-first music lovers.

About

A keyboard-first audio player for Windows built with C# WinForms and WMP COM. Features global media keys, custom forward hotkey, A-B repeat, playback speed control, album art, mini mode, and session restore. Equalizer & video player coming soon.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages