C++ Audio Player

C++ WinForms dirent.h
C++ audio player interface
The player interface.

Overview

A GUI audio player built in C++ with WinForms, simulating a car stereo. It plays from a CD or USB drive, supports building and saving playlists, shuffling, adding or deleting songs, and searching by name, and accepts .mp3 and .wav files. Mounting a device starts playback immediately, with the current song name shown alongside pause, play, next, previous, and power controls.

How it works

On start, a device is mounted through the navigation and storage_media classes, which read the file names at the given path. A CD only accepts .mp3 files, and a USB is capped at 16GB. The aud_player and aud_playerv2 classes handle playback: a playlist view lists every song and supports shuffle, search, add, and delete, and selecting a song enables pause, stop, and resume. The playlist itself is saved to a text file so it can be reloaded the next time the program runs.

UML class diagram for the audio player
UML class diagram: navigation, storage media, and player classes.

Concepts used

Abstraction, dynamic arrays, composition, file handling, and GUI programming with WinForms.

Features

  • File handling and playlist persistence
  • File and folder browsing to add songs
  • Searching by name
  • Play / pause / resume / stop
  • Error and status handling for the current song and device

Built with contributions from Aazain Umarani.

← Back to all projects