- Fixed #350 - Waveform clipping at starting position
- Fixed #304 - Updated Documentation.
- Fixed #349 - iOS audio plays without sound
- Downgrade flutter_lint version to support flutter version 3.10.x
- 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
- 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
- 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.
- Fixed #163 - Failed to stop recording - thanks @linchen00
- 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.
- 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
.
- Reworked waveforms from audio file
- Breaking: removed
readingComplete
PlayerState andvisualizerHeight
. With this, addedextractWaveforms
function to extract waveforms. - Added
WaveformType
enum for selecting longer or shorter type of waveform. - Added
onCurrentExtractedWaveformData
andonExtractionProgress
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
- Breaking: removed
- 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
withscaleFactor
and 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
- Added missing import.
- 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
- 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
- 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 fromstartPlayer()
withFinishMode
enum for better controls when audio is finished - BREAKING: Renamed
disposeFunc()
to simplerdispose()
for both controllers - Internal native restructure.
- Minor documentation update.
- Get current time with respect to scroll
- Added functionality to play audio file and generate waveform from it.
- BREAKING: Renamed WaveController to RecorderController
- Updated metering level for ios to average power
- Fixed label would not clear after stopping the recorder. With this, exposed
reset()
function to remove labels whencallReset
flag instop()
is set to false. - Updated example app
- Separated encoder input for android and ios better support
- Fixed gif preview
- Updated gif preview url
- Updated preview urls
- Updated README.md
- Initial release