Skip to content

Latest commit

 

History

History
386 lines (253 loc) · 18.3 KB

CHANGELOG.md

File metadata and controls

386 lines (253 loc) · 18.3 KB

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.