PackageTrack
Sign in Get early access

audio_waveforms

A Flutter package that allow you to generate waveform while recording audio or from audio file.

2.0.2 55K downloads/mo #1420 most downloaded on pub.dev SimformSolutionsPvtLtd/audio_waveforms

What this package is like to depend on

Last release 7 months ago

09 Jan 2026

Release timing varies

gaps range from 2 weeks to 11 months

Nearly every release is documented

notes for 23 of 23 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

23 releases · first in 2022

3 releases in the last 12 months

see the full history below

Release timeline

23 releases · Mar 2022 to Jan 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 23
  1. 2.0.2 09 Jan 2026
    Release notes

    What's Changed

    • chore: Update compileSdk and targetSdk to run example app by @vasu-nageshri in #460
    • chore: Update analysis options and related files by @vasu-nageshri in #461
    • fix: 🔨 Fixed labels not displaying properly during recording by @vasu-nageshri in #464
    • feat: ✨ Add noOfSamplesPerSecond parameter to preparePlayer for easier waveform configuration by @vasu-nageshri in #465
    • docs: 📚 Add Code of Conduct, Contribution Guidelines, and PR Template by @vasu-nageshri in #466
    • fix: 🐛Incorrect waveform UI when setting Duration.zero for AudioFileWaveforms by @ujas-m-simformsolutions in #458
    • fix: 🐛Waveform extraction is not cancel when PlayerController is disposed by @ujas-m-simformsolutions in #459
    • fix:🐛Recorded duration is not same as controller duration by @ujas-m-simformsolutions in #467
    • feat: ✨ Add support for right to left waveform rendering by @ujas-m-simformsolutions in #462
    • fix: 🐛 Use hardware format when streaming bytes by @ujas-m-simformsolutions in #469
    • chore: ⬆️ bump version and update documentation by @ujas-m-simformsolutions in #471

    New Contributors

    • @vasu-nageshri made their first contribution in #460

    Full Changelog: 2.0.1...2.0.2

    Open source →
    Release notes
    • Chore #460 - Update compileSdk and targetSdk to run example app
    • Chore #461 - Update analysis options and related files
    • Fixed #464 - Fixed labels not displaying properly during recording
    • Feature #398 - Add noOfSamplesPerSecond parameter to preparePlayer for easier waveform configuration
    • Fixed #441 - Incorrect waveform UI when setting Duration.zero for AudioFileWaveforms
    • Fixed #439 - Waveform extraction is not cancel when PlayController is disposed
    • Fixed #236 - Recorded duration is not same as controller duration
    • Feature #250 - Add support for right to left waveform rendering
    • Fixed #463 - iOS crash while streaming audio bytes due to hardware format mismatch
    Open source →
  2. 2.0.1 04 Dec 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.0.0...2.0.1

    Open source →
    Release notes
    • Fixed #452 - OnAmplitude continues to add data points when recording is paused on iOS
    • Fixed #453 - Recording with wav format never returns result
    • Fixed #433 - extractWaveformData doesn't return result on iOS
    • Fixed #455 - On android resuming audio recording returns false instead of true - thanks @yuanhoujun
    Open source →
  3. 2.0.0 19 Nov 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 1.3.0...2.0.0

    Open source →
    Release notes
    • Fixed #350 - Left most visible wave is clipped in half when recording.
    • Fixed #397 - iOS crashes at extractWaveform instead provide error log
    • Fixed #390 - Setting continuousWaveform to false not working
    • Feature #415 - Add stop extraction method and asynchronous extraction of waveform in ios
    • Feature #204 - Move play head position with waveform gesture onTapDown.
    • Chore #375 - Don't send error if already sent
    • Chore #376 - Preemptively account for invalid input buffer
    • BREAKING: Fixed #412 - Calling preparePlayer again does not cancel old waveform extraction.
    • BREAKING: Feature #416 - Add waveform extraction controller.
    • BREAKING: Rename tapUpUpdateDetails to onTapUp.
    • BREAKING:
      • Remove duplicate parameters from RecorderController.
      • Add RecorderSettings model for all the recording settings.
    Open source →
  4. 1.3.0 06 Mar 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 1.2.0...1.3.0

    Open source →
    Release notes
    • Fixed #386 - On permission denied isRecording flag changed
    • Feat #384 - Provide a callback of drag,tap,start and end details on user gesture
    • Feat #309 - Added support for Liner PCM codec in iOS
    • Fixed #291 - Codec issue while recording audio on android
    • Fixed #391 - Wrong codec selection on the platform side on Android
    • Fixed #389 - Wrong codec selection on the platform side on iOS
    • Feat #325 - Added feature to pause all player controller at once.
    • Fixed #373 - Getting error on dispose
    • Fixed #395 - Live wave gradient not getting applied
    Open source →
  5. 1.2.0 02 Dec 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 1.1.1...1.2.0

    Open source →
    Release notes
    • Fixed #350 - Waveform clipping at starting position
    • Chore #304 - Improved Documentation.
    • Fixed #349 - iOS audio plays without sound
    • Fixed #364 - seekTo position issue where onDrag of waveform at initial position first wave outside the seekLine.
    • Fixed #301 - Cannot catch error of preparePlayer
    • Fixes #228 - Added feature to setReleaseMode for player controller.
    Open source →
  6. 1.1.1 23 Oct 2024
    Release notes

    What's Changed

    Full Changelog: 1.1.0...1.1.1

    Open source →
    Release notes
    • Downgrade flutter_lint version to support flutter version 3.10.x
    Open source →
  7. 1.1.0 11 Oct 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 1.0.5...1.1.0

    Open source →
    Release notes
    • Update flutter and dart version
    • Fixed #256 - Default audio session config causing expected behavior for IOS.
    • Fixed #303 - All player has same instances - thanks @AlexV525
    • Fixed incorrect import for shortHash - thanks @mattbajorek
    • Fixed Auto start permission on iOS by waiting for response after user confirms or denies - thanks @mattbajorek
    • Fixed Dispose of instance if all playerKeys are removed - thanks @mattbajorek
    Open source →
  8. 1.0.5 05 Mar 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 1.0.4...1.0.5

    Open source →
    Release notes
    • Updated gradle file
    • Fixed #232 - Last wave flickering
    • Fixed #252 - Android recording doesn't work the first time after granting permissions
    • Fixed #230 - Stop player should not be freed the resources
    • Fixed #165 - IOS recorder without path not working
    • Fixed #232 - Unnecessary rendering
    • Added ability to change audio speed - thanks @Zubii12
    • Fixed stopping a recording immediately after starting it throws multiple exceptions on Android - thanks @mschudt
    • Fixed waveform for audios under 1 second not being extractable on Android - thanks @mschudt
    • Minor update to docs
    Open source →
  9. 1.0.4 14 Apr 2023
    Release notes

    What's Changed

    Full Changelog: 1.0.3...1.0.4

    Open source →
    Release notes
    • Fixed #171 - Do not call notifyListeners() when disposed
    • Add UpdateFrequency to update reporting rate of current duration. Fixes #118 & #145
    • Depreciated normalizationFactor as it is legacy normalization feature.
    Open source →
  10. 1.0.3 06 Mar 2023
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 1.0.2...1.0.3

    Open source →
    Release notes
    Open source →
  11. 1.0.2 20 Feb 2023
    Release notes
    • Now, calling stopAllPlayers is not mandatory for disposing streams and it will also not dispose controller. With last remaining player they will be disposed (Streams can be re-initialised by creating a new PlayerController).
    • Added legacy normalization with this fixed #144.
    • Added onRecorderStateChanged stream to monitor Recorder state changes.
    • Added onCurrentDuration stream to get latest recorded audio duration.
    • Added onRecordingEnded stream to get recorded audio file duration. Fixes #157.
    Open source →
  12. 1.0.1 12 Jan 2023
    Release notes
    • Added onCompletion stream to get event when audio is finished playing.
    • Fixed #145 - The visualization gets stuck incomplete.
    • Fixed #142 - File path with spaces doesn't show waveform
    • Fixed extractor requires audio player to be initialised.
    • Fixed infinite scroll in WaveformType.long.
    Open source →
  13. 1.0.0 20 Dec 2022
    Release notes
    • Reworked waveforms from audio file
      • Breaking: removed readingComplete PlayerState and visualizerHeight. With this, added extractWaveforms function to extract waveforms.
      • Added WaveformType enum for selecting longer or shorter type of waveform.
      • Added onCurrentExtractedWaveformData and onExtractionProgress to monitor progress and currently extracted waveform data.
      • improved drawing of waveforms.
      • Added function to calculate no of waveform bars which will fit in provided width and spacing.
      • Added scrollScale parameter to scale waves when waves are scrolled
    • Fixed #101 - Fixed setting volume for android throws error
    • Fixed zero duration would cause waveforms not to expand
    • Fixed postFrameCallback error for flutter version below 3.0.0
    • BREAKING: Replaced normalizationFactor with scaleFactorand with this fixed #43
    • Updated default values for bitRate and sampleRate
    • Encoders, sample rate and bit rate can now Directly be set from record function.
    • Bitrate is now nullable and default audio extension is now m4a.
    • Updated example app
    Open source →
  14. 0.1.5 09 Sep 2022
    Release notes
    • Added bitRate feature for Android & IOS (Default to 64kbps) - thanks @abhay-s-rawat.
    • Fixed #86 - thanks @rlee1990
    • Updated docs and fixed docs,variable name,function names typos
    Open source →
  15. 0.1.5+1 12 Sep 2022
    Release notes
    • Added missing import.
    Open source →
  16. 0.1.4 01 Aug 2022
    Release notes
    • Fixed #71 - Bump compileSdkVersion/gradle/kotlin to match flutter 3.0 - thanks @yohom
    • Fixed #74 - Fixed push back distance wouldn't reset when recording again
    Open source →
  17. 0.1.3 28 Jul 2022
    Release notes
    • Fixed #41 & #49 - Upgrade Package with flutter 3.0.
    • Fixed #50 & #57 & #65 - android build error fixed
    • Fixed ios resume recording issue
    • Fixed player state not getting update when playing is finished by providing PlayerState stream.
    • Added current duration stream for PlayerController.
    • BREAKING: Replaced seekToStart parameter from startPlayer() with FinishMode enum for better controls when audio is finished
    • BREAKING: Renamed disposeFunc() to simpler dispose() for both controllers
    • Internal native restructure.
    • Minor documentation update.
    Open source →
  18. 0.1.1 03 May 2022
    Release notes
    • Get current time with respect to scroll
    Open source →
  19. 0.0.3 22 Mar 2022
    Release notes
    • Updated preview urls
    Open source →
  20. 0.0.3+1 22 Mar 2022
    Release notes
    • Updated gif preview url
    Open source →
  21. 0.0.3+2 23 Mar 2022
    Release notes
    • Fixed gif preview
    Open source →
  22. 0.0.2 22 Mar 2022
    Release notes
    • Updated README.md
    Open source →
  23. 0.0.1 22 Mar 2022
    Release notes
    • Initial release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive