Releases: alnitak/flutter_soloud
Releases · alnitak/flutter_soloud
v3.3.4
flutter_soloud v3.3.0
What's Changed
- Added support for MP3 streams
- Added support for Vorbis streams
- Added
web_radio.dartexample to demonstrate how to receive an audio stream (ie, an icecast stream) and then add the audio chunks to BufferStream - Add
BufferType.autoto auto-detect ogg/opus/vorbis/mp3 streams - Deprecate
BufferType.opusin favor ofBufferType.auto - Get TAGs info also while streaming, and not only by sending chunks of an audio file. For MP3s, the TAGs are obtained from ID3V2 or passing
icy-metaint(obtained from the header of the online stream) before adding audio chunks to the BufferStream. New metadata is notified by theonMetadatacallback ofsetBufferStream
flutter_soloud v3.2.2
- OGG is now also supported using
readSamplesFrom*methods. - fix getPosition and buffering for released buffer.
flutter_soloud v3.2.1
What's Changed
- it is now possible to use a 3rd party plugin like
audio_sessionto manage audio context. - new audio context example in
example/lib/audio_context/audio_context.dart. - fix GetPosition returned value for buffer streams.
New Contributors
- @MinseokKang003 made their first contribution in #260
flutter_soloud v3.1.12
- added
getStreamTimeConsumed()to get the time consumed by a buffer stream of kindBufferingType.released. Since the position of this kind of stream is always 0, this method is useful to know the time already played. - fix pause/unpause on audio stream buffering.
- added
buffer_stream/simple_noise_stream.dartexample.
buffer_stream_example.mp4
flutter_soloud v3.1.11
- fix: Loading the same AudioSource twice (in parallel) crashes #247
- fix win: force cmake to build the plugin in release mode even if building in debug
v3.1.2
What's Changed
- Enhanced documentation clarity and organization by moving it to the dedicated flutter_soloud_docs repo. Powered by docs.page from Invertase and can be viewed here. by @alnitak in #207
- Update miniaudio and dr_libs libraries by @alnitak in #209
Full Changelog: v3.1.1...v3.1.2
v3.1.0
3.1.0
- when calling
AudioData.getAudioDatais now possible to check if the audio data is the same as before. Useful to visualize waveforms. This is becauseAudioData.getAudioDatareturns the current data in the buffer and if it is called before the buffer has been updated, it will return the previous data. - added
resetBufferStreammethod toSoLoud. It happens that when playing a stream, maybe from the web, it is needed to change it to another source. The player continues to play the already added audio data to the buffer. This method can be used to reset the buffer and start with the new audio data.
free to link with opus and ogg libraries
What's Changed
- fix: example macos not building because of file_picker needing deployment target 11.5 by @filiph in #193
- fix: libopus and libogg build issue on macOS by @filiph in #194
- Embedding of opus and ogg libs on all platforms with a choice of doing this by @alnitak in #195
See NO_OPUS_OGG_LIBS for more info on how this works.
Full Changelog: v3.0.2...v3.0.3
v3.0.0
What's Changed
BufferStreamnow supports 2 type of buffering:BufferingType.preserved(default): preserve the data already in the buffer while playing.BufferingType.released: free the memory of the already played data for longer playback.
- breaking change: splitted [maxBufferSize] to [maxBufferSizeBytes] and [maxBufferSizeDuration] in
SoLoud.setBufferStream. This gives the user a way to choose the maximum buffer size using bytes or time. - breaking change: removed
initializedgetter in favor ofisInitialized - removed deprecated
timeoutparameter inSoLoud.init. - removed deprecated
filter_params.dart. - fixed biquad resonant filter
frequencydefault parameter #179 - fix: on some unclear conditions
isInitializedreturning false on MacOS after engine starts with no error #177 - fix: Call
loadMemwill crash the application #174. - fix: clicks and pops when changing waveform frequency #156.
- added
LimiterandCompressorfilters (seeexample/lib/filters/). - added BufferStream #148. Now it's possible to add audio data and listen to them. It provides a customizable buffering length which automatycally pauses the playing handle if there is not enough data, for example when receiving audio data from the web. It also provides a callback that allows you to know when the buffering is started and stopped. The audio data can of of the following formats:
s8signed 8 bits16lesigned 16 bit little endians32lesigned 32 bit little endianf32lefloat 32 bit little endianopusOpus codec compressed audio with Ogg container. Useful for streaming from the Web (ie using OpenAI APIs).
- fixed Web Worker initialization non fatal error that could occur on Web.
- fixed sound distortion using single pitchShift filter and changing relative play speed #154.
- fixed the use of
LoadMode.diskon the Web platform which in some cases caused theallInstancesFinishedevent to not be emitted. - improved performance on Web, MacOS and iOS.
- get wave and FFT samples is now simpler and faster.
- To avoid future incompatibilities when using other WASM compiled plugins, it is now necessary to add a new script to
index.html:<script src="assets/packages/flutter_soloud/web/libflutter_soloud_plugin.js" defer></script> <script src="assets/packages/flutter_soloud/web/init_module.dart.js" defer></script>
New Contributors
- @Flower7C3 made their first contribution in #179
- @themailman05 made their first contribution in #178
Full Changelog: v2.1.7...v3.0.0