Skip to content

Releases: alnitak/flutter_soloud

v3.3.4

10 Sep 18:31
e05ac58

Choose a tag to compare

What's Changed

  • use of dr_mp3.h instead of minimp3.h for streaming MP3 also remove cliks by @alnitak in #308
  • fix crash when calling addAudioDataStream before play #306

Full Changelog: v3.3.3...v3.3.4

flutter_soloud v3.3.0

25 Aug 16:22
2d8e480

Choose a tag to compare

What's Changed

  • feat: add MP3 and Vorbis support, and metadata retrieval for buffer streams by @alnitak in #284
  • Added support for MP3 streams
  • Added support for Vorbis streams
  • Added web_radio.dart example to demonstrate how to receive an audio stream (ie, an icecast stream) and then add the audio chunks to BufferStream
  • Add BufferType.auto to auto-detect ogg/opus/vorbis/mp3 streams
  • Deprecate BufferType.opus in favor of BufferType.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 the onMetadata callback of setBufferStream

flutter_soloud v3.2.2

16 Jul 15:37
43a6878

Choose a tag to compare

  • OGG is now also supported using readSamplesFrom* methods.
  • fix getPosition and buffering for released buffer.

flutter_soloud v3.2.1

28 Jun 21:14

Choose a tag to compare

What's Changed

  • it is now possible to use a 3rd party plugin like audio_session to manage audio context.
  • new audio context example in example/lib/audio_context/audio_context.dart.
  • fix GetPosition returned value for buffer streams.

New Contributors

flutter_soloud v3.1.12

21 Jun 11:38
31988c2

Choose a tag to compare

  • added getStreamTimeConsumed() to get the time consumed by a buffer stream of kind BufferingType.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.dart example.
buffer_stream_example.mp4

flutter_soloud v3.1.11

16 Jun 13:20
c50abc8

Choose a tag to compare

  • 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

27 Mar 10:08

Choose a tag to compare

What's Changed

Full Changelog: v3.1.1...v3.1.2

v3.1.0

18 Mar 19:56
c1c242c

Choose a tag to compare

3.1.0

  • when calling AudioData.getAudioData is now possible to check if the audio data is the same as before. Useful to visualize waveforms. This is because AudioData.getAudioData returns the current data in the buffer and if it is called before the buffer has been updated, it will return the previous data.
  • added resetBufferStream method to SoLoud. 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

07 Mar 20:04
a4b0ead

Choose a tag to compare

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

13 Feb 20:15
a0c0ed2

Choose a tag to compare

What's Changed

  • BufferStream now 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 initialized getter in favor of isInitialized
  • removed deprecated timeout parameter in SoLoud.init.
  • removed deprecated filter_params.dart.
  • fixed biquad resonant filter frequency default parameter #179
  • fix: on some unclear conditions isInitialized returning false on MacOS after engine starts with no error #177
  • fix: Call loadMem will crash the application #174.
  • fix: clicks and pops when changing waveform frequency #156.
  • added Limiter and Compressor filters (see example/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:
    • s8 signed 8 bit
    • s16le signed 16 bit little endian
    • s32le signed 32 bit little endian
    • f32le float 32 bit little endian
    • opus Opus 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.disk on the Web platform which in some cases caused the allInstancesFinished event 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

Full Changelog: v2.1.7...v3.0.0