A GUI based audio player capable of playing songs from a CD or a USB which simulates a car audio player. It allows playlists to be made and provides the features of shuffling songs, saving and loading playlist from a text file, deleting or adding songs to the playlist and searching for an audio file. The storage media i.e. CD or USB can be mounted or unmounted. The music starts playing on mounting and the name of the song is displayed along with the functionalities of pause/play, next/previous song, power on/off.
The audio files must be of .mp3 or .wav format.
On start, a device must be mounted, which is done with help of the navigation and storage_media classes which go to the path specified by the user and display the file names in that path. The CD and USB are checked for compatibility, a CD only supports .mp3 files and a USB can have a maximum size of 16GB. For handling music, the aud_player and aud_playerv2 classes are used. A playlist is displayed containing all the song names. It provides the features of shuffle, search, add and deleting songs. Once a song is selected it can be played. This enables the use of the pause, stop, resume and stop button. The playlist is saved into a text file which can be retrieved the next time the program is run.
Concepts used: Abstraction, Dynamic programming/arrays, Composition, File handling, GUI
Features:
File handling, saving playlists
File browsing and folder browsing for adding songs and folders
Searching a song
Playing/pausing/resuming/stopping songs
Handled errors, and status of current songs, and devices
The provided C++ code presents a comprehensive audio player application with navigation capabilities and playlist management. It defines classes for "audio," representing individual audio tracks, and "aud_playerv2," which acts as the audio player with playlist support. The application allows users to play, pause, stop, and resume audio tracks, as well as shuffle the playlist and jump to specific songs. Additionally, the "navigation" class enables users to mount and unmount storage media, such as USB drives or CDs, and navigate through directories to load audio files into the playlist. The "storage_media" class represents different storage media with their properties, ensuring that the available space on the media is sufficient for the loaded audio tracks. The graphical user interface (GUI) implemented using Windows Forms offers intuitive controls for users to interact with the audio player and manage playlists efficiently. Overall, the code provides a user-friendly audio player application with playlist management and support for loading audio files from various storage media, making it a versatile and convenient tool for music enthusiasts.
Note: this paragraph is generated by Chat gpt-3 :)
An implementation of the code is in C++ and it can be found on GITHUB.
This project is done with contributions of Aazain Umarani