A modern and feature-rich media player application built with Flutter, offering a seamless music playback experience with an intuitive user interface and dynamic theming capabilities.
- 🎵 Clean and intuitive user interface
- ⏯️ Music playback controls (play, pause, skip, seek)
- 📝 Playlist management with drag-and-drop support
- 📱 Responsive design for various screen sizes
- 🌓 Dynamic theme switching (Light/Dark mode)
- ✨ Smooth animations and transitions
- 📊 State management using Provider
- 🔄 Custom slide page transitions
- Flutter SDK (latest version)
- Dart SDK (latest version)
- Android Studio / VS Code with Flutter extensions
-
Clone the repository:
git clone https://github.com/ibrahimsezer/mediaplayer.git
-
Navigate to the project directory:
cd mediaplayer
-
Install dependencies:
flutter pub get
-
Run the application:
flutter run
lib/
├── assets/ # Contains images and other static assets
├── const/ # Constants and configuration files
├── helper/ # Helper functions and utilities
├── theme/ # Theme configuration and providers
├── view/ # UI screens and widgets
├── viewmodel/ # Business logic and state management
└── main.dart # Application entry point
Located in lib/theme/
app_theme.dart
: Defines the application's theme datatheme_provider.dart
: Manages theme state using Provider
Located in lib/view/
media_player_view.dart
: Main player interfacemedia_player_control_widget.dart
: Playback controlsplaylist_view.dart
: Playlist management interface
Located in lib/viewmodel/
media_player_viewmodel.dart
: Handles media player state and logic
- Seamless switching between light and dark modes
- Custom color schemes for both themes
- Persistent theme preference
- Support for multiple audio formats
- Background playback capability
- Queue management and playlist features
- Modern and clean design
- Intuitive controls and gestures
- Responsive layout for all screen sizes
Contributions are welcome! Please feel free to submit a Pull Request. Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- All contributors who participate in this project
- Open source community for inspiration and support
Made with ❤️ by Ibrahim Sezer