MMDPlayer (Media Player App)
2–4 weeks | Solo Project | Completed
Built a lightweight desktop media player in WinForms C#, integrating AxWMPLib (Windows Media Player ActiveX) to deliver smooth, reliable video and audio playback with a native Windows UI experience.
View Github Contact to build a similar appProject Overview
This project is one of my first solo projects, developed during my first year of study at school. Its a multimedia application built entirely from scratch using C# and AxWMPLib (Windows Media Player ActiveX). Designed as a lightweight yet powerful media solution, build responsive Windows desktop applications with essential playback features and user-friendly interfaces.
This media player allows users to play music and videos, organize content through custom playlists, and control playback with features like pause/resume, shuffle mode, and loop. A key highlight of the app is its robust playlist management system, which supports multiple playlists stored in a centralized library, each capable of containing both audio and video files.
This project reflects my understanding of desktop UI/UX principles, C# event-driven programming, and ActiveX integration, making it a strong showcase of both technical skill and software design capability.
Key Features
- Play Music & Videos
- Playback Controls
- Playlist Management
- Import Playlists & Playlist Library
- User-Friendly Interface
Challenges & Solutions
Challenge: Complex audio/video handling
Building a media player from scratch requires complex handling of audio/video decoding and rendering.
Solution: Integrated AxWMPLib (ActiveX Windows Media Player) to handle playback and control functions like play, pause, loop, and shuffle—saving development time while ensuring compatibility and stability.
Challenge: Playlist management
Designing a system where each playlist could store both audio and video, while allowing users to view, edit, and manage them intuitively.
Solution: Built a custom playlist management system that supports multiple playlists, with the ability to rename, browse media items, and manage media types seamlessly within each list.
Challenge: Multi-format import
Users have different file types (.mp3, .mp4, .wav, etc.) and need a smooth import experience.
Solution: Implemented a custom OpenFileDialog filter allowing multiple file extensions to be selected at once, supporting popular formats and improving user convenience.
Challenge: UI thread freezing
WinForms runs on a single UI thread, and without careful handling, it can freeze during file operations.
Solution: Kept operations lightweight and UI interactions optimized, ensuring the app stays responsive under typical use cases. (Planned for async/threading improvements in the future.)
Project Highlights
Audio & Video Playback Support: Seamlessly plays both music and video files with support for pause, resume, shuffle (random), and loop functionalities.
Multi-Format Support: Allows importing and playing various file types: .mp3, .mp4, .wav, .webm, .weba, .wma, .mpa.
Advanced Playlist Management: Users can create, edit, rename, and delete multiple playlists stored in a centralized library—each playlist supports both songs and videos.
Import External Playlists: Supports importing local playlists, allowing quick setup and personalized media organization.
User Friendly Interface: Clean and intuitive UI designed for easy navigation and media control—suitable for both beginners and experienced users.
ActiveX Integration (AxWMPLib): Integrated the Windows Media Player ActiveX component for reliable and high-quality playback with minimal system overhead.
Project Info
Category: Desktop Application
My Role: Developer
Duration: 2–4 weeks
Team Size: Solo Project
Technologies: C#, Winform, AxWMPLib
Quick Stats: Dev Time: 2–4 weeks, Supports: .mp3, .mp4, .wav, etc., Platform: Windows Desktop, Playlists: Audio & Video Support, UI: Custom, Project Size: Lightweight