This repository was archived by the owner on Sep 13, 2021. It is now read-only.
This version of flutter_audio_desktop brings & changes:
- Now you can listen to playback events using
stream(a broadcast stream) insideAudioPlayer. This was a great problem in earlier version as one always needs to trigger UI updates whenever playback progresses, ends etc. - One of the big problems in earlier version was that there was no way to detect if an audio playback has ended after completion. Resulting in issues like #25 & #26. Now
audio.isCompletedstoresboolif an audio has ended, same can be accessed fromstream. - Now you can provide any random
idwhile creating new instance ofAudioPlayer, this was a big problem earlier as newidhad to be consecutive to earlier one. - Now you can access same instance of
AudioPlayereven if you make new constructor, by providing sameid. - Now asset files can be played & loaded into
AudioPlayerusingloadmethod.AudioSourceclass has two static methodsAudioSource.fromFileto load an audio file.AudioSource.fromAssetto load an audio asset.
- Now audio field stores
Audioobject, inside the AudioPlayer class & contains following fields to get information about current playback.file: Current loadedFile.isPlaying: Whether file is playing.isCompleted: Whether file is ended playing.- By default once playback is ended,
stopmethod is called &AudioPlayeris reverted to initial configuration.
- By default once playback is ended,
isStopped: Whether file is loaded.position: Position of current playback inDuration.duration: Duration of current file inDuration.
- Now contructor of
AudioPlayerno longer calls async methods, which could result in false assertions. - Now
ma_resource_manageris used fromminiaudio_enginewithMA_DATA_SOURCE_FLAG_STREAMflag.- This will improve general performance during playback, as whole file will not be loaded into memory.
- Structure of code improved & separated into various files & classes.
- Now device handling is present in an entirely separate class
AudioDevices. - Improvements to how methods are identified & called in method channel.
flutter_types.hppimproves code readability. - Other bugs that randomly caused termination after false assertions are also fixed to an extent.
- Removed wave & noise APIs temporarily. Apologies to everyone & MichealReed.
NOTES
- I hurried a bit with this release at the end, so queues are still unimplemented.
- I have found a different approach for this plugin, so I'll spend time on that in future.
Thankyou everyone.