CHANGELOG

6.4.8

  • Documention is switched to Jekyll

6.4.7

  • The two simple examples doing recording did not ask for recording permission. #539

6.4.8

iOS : Rename AudioPlayer as AudioPlayerFlauto to avoid duplicate symbol with "just_audio: ^0.5.7". #542

6.4.7

The two simple examples doing recording did not ask for recording permission. #539

6.4.6

  • Fixes a bug in setAudioFocus() when the focus parameter is t_AUDIO_FOCUS.requestFocus #537

6.4.5

  • Fixes an other problem in setAudioFocus() on Android and iOS #535

6.4.4

  • Fixes a crash in setAudioFocus() on Android #535

6.4.3

  • The documentation of the API is now generated by dartdoc. Here it is

  • The various traces done by Flutter Sound with the Dart code are now handled by 'util/log.dart'. (The traces done by iOS and Android are still hard coded).;

  • Fix a bug in Pause/Resume on the lock screen

  • The Flutter Sound documentation is now handled by gitbook.

  • Fix bug in setUIProgressBar()

  • The output of dartanalyzer is now clean. The pub.dev score is 110/110 !

  • Two new very simple examples for Flutter Sound beginners

6.4.2

  • Syntaxe error in flutter_sound_web.podspec #509

6.4.1

  • Little mistake in the Podspec file name for flutter_sound_web #509

6.4.0

6.3.1

  • Fix a syntax error in the TauEngine build.gradle 499

  • English in the UI widget is now configurable 498

6.3.0

  • On Android : Flutter Sound is now a wrapper around TauEngine

  • Add a new example doing Speech-To-Text. Thanks to @jtkeyva :-) . #210

6.2.0

  • Publication on JCenter

6.2.0

  • On iOS, Flutter Sound use now a Pod library : TauEngine

  • On iOS : startPlayer() from a remote URL returned too early (before downloading the file)

  • The loop example, (from the recorder to the player) has now a delay < 1 sec. #479 and #90

  • Fix compilation errors of the examples in LITE flavor #483

6.1.2

  • Playback from a remote URL #470

6.1.1

  • Volume control with the volume buttons, on Android. #457

6.1.0

  • Re-design the modules architecture to be Google recommandations compliant. (We use a new dependency : flutter_sound_platform_interface)

  • openAudioSessionWithUI is now deprecated. Use the parameter withUI in openAudioSession() instead.

  • Upgrade "recase" version dependency (thanks to @CRJFisher) #471

6.0.1

  • Little bug in the Demo App : 48000 is not a valid Sample rate for AAC/ADTS #460

6.0.0

  • Modification to the Widget Recorder UI, to be homogeneous with the Widget Player UI

  • Fix two severe bugs on Android in openAudioSessionWithUI and startPlayerFromTrack : those two functions returned too early instead of a future. #425

  • On iOS, the device did not go to sleep when idle, with the Flutter Sound default parameters. #439

  • startPlayer() and startPlayerFromTrack() return a Future to the record duration instead of a void.

  • Flutter Sound FULL is now linked (again) with mobile-ffmpeg-audio 4.3.1.LTS. Please, look to the migration guide

  • Fix a concurrency bug between whenFinished() and updateProgress() #441

  • Android : minAndroidSdk is 18. (Tested on a SDK 18 emulator). SDK 18 is fine for the FlutterSoundPlayer, but the FlutterSoundRecorder needs at least 23. #400

  • New helper API verb : pcmToWave() to add a WAVE header in front of a Raw PCM record

  • New helper API verb : pcmToWaveBuffer() to add a WAVE header in front of a Raw PCM buffer

  • New helper API verb : waveToPCM() to remove a WAVE header in front of a Wave record

  • New helper API verb : waveToPCMBuffer() to remove a WAVE header in front of a Wave buffer

  • startRecorder() can now record Raw PCM Integers/Linear 16 files, both on iOS and Android (Look to a PCM discussion, here)

  • startplayer() can now play Raw PCM Integers/Linear 16 files, both on iOS and Android (Look to a PCM discussion, here)

  • Fix concurrency bug, when the App does a stopRecorder() or pauseRecorder() during recorderTicker() processing, #443

  • Fix a bug when we keep the device in pause mode on the iOS lock screen more than 30 seconds #451

  • Recording PCM-Linear 16 to a live Stream (many, many, many requesters). Here a GettingStarted notice

  • Playback PCM-Linear 16 from a live Stream (many, many, many requesters). Here a GettingStarted notice

5.1.1

  • Fix various bugs in UI Widget #407

  • Add a button Pause/Resume in UI Widget Recorder

  • Add a button Pause/Resume in UI Widget Player

5.1.0

  • Add a semaphore so that the App cannot do several call to Flutter Sound at the same time #374

  • On iOS : the "NowPlaying" info on the lockscreen is removed when the sound is finished or when the App does a stopPlayer(). Add parameter removeUIWhenStopped to startPlayerFromTrack(). (iOS only).

  • On iOS : the "NowPlaying" progress bar on the lockscreen is uptodated when the App does a seekToPlayer() #364

  • On iOS : Add parameter defaultPauseResume to startPlayerFromTrack(). (iOS only).

  • On iOS : Add API verb getProgress(). (iOS only).

  • On iOS : Add API verb getPlayerState(). (iOS only).

  • On iOS : Add API verb nowPlaying(). (iOS only).

  • On iOS : Add API verb setUIProgressBar(). (iOS only). #376

  • Fixes bug #380, #385

  • Fixes bug "AudioFlags and AudioSource not work as expect " #366, #372, #381

  • New parameters in the SoundPlayerUI constructors for specifying colors, text style and slider style. #397

5.0.2

Error returns from iOS in FlutterSoundPlayer.m was wrong : #350

5.0.1

  • Flutter Sound V5 is published under the LGPL license.

5.0.0

  • New API documentation

  • Changed the global enums names to CamelCase, to be conform with Google recommandations

  • Remove the OS dependant parameters from startRecorder()

  • Add a new parameter to startPlayer() : the Audio Focus requested

  • Support of new codecs, both for Android and iOS.

  • Remove the authorization request from startRecorder()

  • Remove the NULL posted when the player or the recorder is closed.

  • The Audio Focus is NOT automaticaly abandoned between two startPlayer() or two startRecorder()

4.0.7

  • Patch to avoid problems when the App does a stopPlayer() during a startPlayer() #374

4.0.6

  • Error returns from iOS in FlutterSoundPlayer.m was wrong : #350

4.0.5

  • Fix as bug in the Focus gain, on iOS #324

4.0.4+1

  • Fix a bug in resumeRecorder() on Android : the dbPeak Stream was not restored after a resume()

  • Fix a bug in resumeRecorder() : the returned value was sometimes a boolean instead of a String.

4.0.3+1

  • Check the Initialization Status, before accessing Flutter Sound Modules #307

  • Fixes : Pausing a recording doesn't 'pause' the duration. #278

  • Fix a crash that we had when accessing the global variable AndroidActivity from BackGroundAudioSerice.java #317

4.0.1+1

  • "s.static_framework = true" in flutter_sound.podspec

4.0.0

  • Adds pedantic lints and major refactoring of example with bug fixes. #279

  • Native code is directely linked with FFmpeg. Flutter Sound App does not need any more to depends on flutter_ffmpeg #265 and #273

  • Add a new parameter in the Track structure : albumArtFile

  • A new flutter plugin is born : flutter_sound_lite #291

  • Adds a new parameter whenPaused: to the startPlayerFromTrack() function. #314

  • Fix bug for displaying a remote albumArt on Android. #290

3.1.10

  • Trying to catch Android crash during a dirty Timer. #289

3.1.9

  • Trying to fix the Android crash when AndroidActivity is null #296

3.1.8

  • Fix a bug ('async') when the app forget to initalize its Flutter Sound module. #287

3.1.7

  • Codec PCM for recorder on iOS

  • Optional argument requestPermission before startRecorder() so that the App can control itself the recording permissions. #283

3.1.6+1

  • Fix a bug when initializing for Flutter Embedded V1 on Android #267

  • Add _removePlayerCallback, _removeRecorderCallback() and _removeDbPeakCallback() inside release() #248

  • Fix conflict with permission_handler 5.x.x #274

  • On iOS, setMeteringEnabled:YES is called during setDbLevelEnabled() #252, #251

  • The call to initialize() is now optional #271

  • README : #265

3.1.5

3.1.4

  • Change dependecies in range

    permission_handler: ">=4.0.0 <5.0.0"
    flutter_ffmpeg: ">=0.2.0 <1.0.0"

3.1.3

  • The isRecording variable is false when the recorder is paused #266

3.1.2

  • Flutter Sound depends on permission_handler: ^4.4.0 #263

3.1.0

  • flutter_sound modules are re-entrant #250 and #232

    • We can open several FlutterSoundPlayer at the same time

    • We can open several FlutterSoundRecorder at the same time

  • Add new API verbs : #244

    • flutterSoundHelper.getLastFFmpegReturnCode()

    • flutterSoundHelper.getLastFFmpegCommandOutput()

    • flutterSoundHelper.FFmpegGetMediaInformation() which return info on the given record

    • flutterSoundHelper.duration() which return the number of milli-seconds for the given record

  • Add new API verbs : ##242

    • FlutterSoundRecorder.pauseRecorder()

    • FlutterSoundRecorder.resumeRecorder()

  • flutter_sound is now compatible with permission_handler 5.x.x #259

  • API to control the audiofocus #219

  • API to set the audio-category (i.e. duck-others) #219

  • AndroidX and Android embbeded-V2 support #203

  • Add a parameter to startPlayer to specify a callback when the song is finished #215

  • License is now LGPL 3.0 instead of MIT

3.0.0+1

3.0.0

2.1.1

2.0.5

  • Hotfix #221

  • Use AAC-LC format instead of MPEG-4 #209

2.0.4

  • OGG/OPUS support on iOS #199

2.0.3

  • Resolve #194

    • stopReocorder resolve path.

  • Resolve #198

    • Improve static handler in android.

2.0.1

  • Add compatibility for android sdk 19.

  • Add androidx compatibility.

  • Resolve #193

    • Restore default startRecorder

1.9.0

  • Fix issue #175

    • add functions

      . isEncoderSupported(t_CODEC codec);

      . isDecoderSupported(t_CODEC codec);

    • add property 'audioState'

    • check if codec is really supported before doing 'startRecorder'

    • modify the example app : disable buttons when the button is not compatible with the current state

    • in the example, add sound assets encoded with the various encoder

    • modify the example to play from assets

    • modify the example to allow selection of various codec

1.7.0

  • startPlayerFromBuffer, to play from a buffer #170

1.6.0

  • Set android default encoding option to AAC.

  • Fix android default poor sound.

1.5.2

  • Postfix GetDirectoryType to avoid conflicts #147

1.5.1

  • Set android recorder encoder default value to AndroidEncoder.DEFAULT.

1.5.0

  • Use NSCachesDirectory instead of NSTemporaryDirectory #141

1.4.8

1.4.7

  • Resolve few issues on ios record path.

  • Resolve issue playing status so player can resume.

  • Resolve #134

  • Resolve #135

1.4.4

  • Stopped recording generating infinite db values #131

1.4.3

  • Improved db calcs #123

1.4.2

  • Fixed 'mediaplayer went away with unhandled events' bug #104

1.4.1

  • Fixed 'mediaplayer went away with unhandled events' bug #83

1.4.0

  • AndroidX compatibility improved #68

  • iOS: Fixes for seekToPlayer #72

  • iOS: Setup configuration for using bluetooth microphone recording input #73

1.3.6

  • Android: Adds a single threaded command scheduler for all recording related

    commands.

  • Switch source & target compability to Java 8

  • Bump gradle plugin version dependencies

1.3.+

  • Support db/meter #41

  • Show wrong recorder timer text #47

  • Add ability to specify Android & iOS encoder #49

  • Adjust db range and fix nullable check in ios #59

  • Android: Recording operations on a separate command queue #66

  • Android: Remove reference to non-AndroidX classes which improves compatibility

1.2.+

  • Fixed sound distorting when playing recorded audio again. Issue #14.

  • Fixed seekToPlayer for android. Issue #10.

  • Expose recorder sampleRate and numChannel.

  • Do not append tmp when filePath provided in ios.

  • Resolve regression issue in 1.2.3 which caused in 1.2.2.

  • Reduce the size of audio file in 1.2.4. Related #26.

  • Fixed recording issue in android in 1.2.5.

  • Changed seekToPlayer to place exact secs instead adding it.

  • Fix file URI for recording and playing in iOS.

1.1.+

  • Released 1.1.0 with beautiful logo from mansa.

  • Improved readme.

  • Resolve #7.

  • Fixed missing break in switch statement.

1.0.9

  • Reimport intl which is needed to format date in Dart.

1.0.8

  • Implemented setVolume method.

  • Specific error messages given in android.

  • Manage ios player thread when audio is not loaded.

1.0.7

  • Safer handling of progressUpdate in ios when audio is invalid.

1.0.6

  • Fixed bug in platform specific code.

1.0.5

  • Fixed pug in seekToPlayer in ios.

1.0.3

  • Added license.

1.0.0

  • Released preview version for audio recorder and player.

Last updated