Package selection guidance compiled from public package information, community data, and project usage.
Chewie Audio is a Flutter package that provides a customizable audio player with intuitive play controls inspired by Cupertino and Material design. It supports playback of audio files across multiple platforms, including Android, iOS, Web, and macOS. Designed for simplicity and consistency, it integrates seamlessly into apps requiring audio playback with a polished user interface. The package offers built-in progress tracking, play/pause functionality, and volume controls, making it ideal for podcasts, music players, or any app needing reliable audio playback.
Use cases
Podcast apps
Audio book readers
Music streaming interfaces
Educational content players
Interactive learning apps
Key features
Cupertino and Material design controls
Cross-platform support (Android, iOS, Web, macOS)
Built-in progress and volume indicators
Simple integration with Flutter
Customizable playback UI
Suitable for
Developers building audio-focused Flutter apps
Teams prioritizing consistent UI across platforms
Apps requiring lightweight audio playback
Educational or media-rich applications
Projects using Flutter's native platform integrations
Considerations
Limited to audio playback (no video)
Requires external audio source URLs
May need additional state management for complex workflows
Not optimized for high-performance audio processing
Depends on underlying Flutter audio libraries for core functionality
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
chewie_audio
The audio player for Flutter with a heart of gold.
The video_player plugin provides low-level access to video/audio playback. Chewie Audio uses the video_player under the hood and wraps it in a friendly Material or Cupertino UI!
Preview
MaterialControls
CupertinoControls
Installation
In your pubspec.yaml file within your Flutter Project:
Chewie got some options which controls the video you provide. These options appear on default on a showModalBottomSheet (like you already know from YT maybe). Chewie is passing on default Playback speed and Subtitles options as an OptionItem.
To add additional options just add these lines to your ChewieController:
The index attribute is just for purpases if you want to structure your subtitles in your database and provide your indexes here. start, end and text are here the key attributes.
The Duration defines on which part of your video your subtitles should start and end. For example: Your video is 10 minutes long and you want to add a subtitle between: 00:00 and 00:10'th second you've to provide: