QT Media Player Project
Implementation of a QT media player project using Qt in an ARM target board, capable of playing audio and video files.
About this project
|TYPE||Individual or Team|
The media player is one of the most commonly used applications in both PC and Embedded devices. These applications typically play the given audio or video file and provide the required output by streaming the audio and video via various I/O interfaces like monitor, LCD, speakers etc. Qt provides excellent front end / UI development and backend library support features to implement these functionalities.
This QT media player project aims to develop a media player application, capable of playing the audio and video files. It will enable participants to implement a stable player which will perform following high level tasks:
- Media list creation on UI
- Playing the next track when current track ends
- Creation of play, pause, next and previous buttons with respective functionalities
- Tracking current track’s play time along with the overall time
- Update current track information in title.
It is recommended to have this application run in an Embedded target (Raspberry Pi / ARM). However, the scope can be limited to running as a desktop / PC based application as well.
Here is the list of requirements that is need for QT media player project.
- Stable system running media player on any user interaction
- Media files are listed in the UI. On press of the list, the respective track is played
- On Press of Play button first time, listing all the media and start playing
- At the end of the track playing next track without user interaction
- On Pressing Play/Pause button, actual play status toggles between play and pause
- Next button press, plays the next available track. When the current track reaches the end of track on press of next leads playing the first track.
- Previous button press, plays the Previous available track. When the current track reaches the first track on press of previous leads leads playing the last track.
- Current track information is updated on the title. When title exceed the UI text box, it shall be truncated with 3 dots (…)
- Track current play time and total play time is displayed
- Depending on the track the target can be a PC or Raspberry Pi (ARM) board.
The skeleton code is a very interesting concept used in Emertxe. By looking into the skeleton code, you will get a clear picture into converting the given requirement into a working QT media player project. This will also take care of important aspects like modularity, clean coding practices, re-usability etc.