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 ist_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 isThe 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
Flutter Sound is supported by Flutter Web. You can play with this live demo on the web (still cannot record with Safari or any web browser on iOS : thank you Apple). You can read this. Issues : #494, #468 and #297
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)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 parameterwithUI
inopenAudioSession()
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()
andupdateProgress()
#441Android : 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()
orpauseRecorder()
duringrecorderTicker()
processing, #443Fix 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 parameterremoveUIWhenStopped
tostartPlayerFromTrack()
. (iOS only).On iOS : the "NowPlaying" progress bar on the lockscreen is uptodated when the App does a
seekToPlayer()
#364On iOS : Add parameter
defaultPauseResume
tostartPlayerFromTrack()
. (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). #376New 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 requestedSupport 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 twostartRecorder()
4.0.7
Patch to avoid problems when the App does a
stopPlayer()
during astartPlayer()
#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
Add a new parameter in the Track structure : albumArtFile
A new flutter plugin is born :
flutter_sound_lite
#291Adds a new parameter
whenPaused:
to thestartPlayerFromTrack()
function. #314Fix 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
beforestartRecorder()
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
The call to
initialize()
is now optional #271README : #265
3.1.5
Fix README : #268
3.1.4
Change dependecies in range
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
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
#219API to set the
audio-category
(i.e. duck-others) #219AndroidX and Android embbeded-V2 support #203
Add a parameter to
startPlayer
to specify a callback when the song is finished #215License is now LGPL 3.0 instead of MIT
3.0.0+1
bugfix #254
3.0.0
Module
flauto
for controlling flutter_sound from the lock-screen 219 and #243Highly honor Larpoux, bsutton, salvatore373 :tada:!
2.1.1
Handle custom audio path from path_provider.
2.0.5
2.0.4
OGG/OPUS support on iOS #199
2.0.3
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
.
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 ofNSTemporaryDirectory
#141
1.4.8
Resolve #129
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
andnumChannel
.Do not append
tmp
when filePath provided inios
.Resolve
regression
issue in1.2.3
which caused in1.2.2
.Reduce the size of audio file in
1.2.4
. Related #26.Fixed
recording
issue in android in1.2.5
.Changed
seekToPlayer
to place exactsecs
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
inios
.
1.0.3
Added license.
1.0.0
Released preview version for audio
recorder
andplayer
.
Last updated