## 2.0.7+8

* Added Android HeadPhoneStrategy
* Fix local path file uri (android)

## 2.0.6+7

* Cache now use `http` instead of `dio`
* Added live tag on notification for LiveStream play (ios)
* Added audio session id (android only)

## 2.0.5+7

* Added custom error handling (beta)
* Dispose is now a future
* Fixed playlist insert / replace

## 2.0.5

* Added Cache management (beta), with Audio.network(url, cached: true)

## 2.0.4+2

* Added HLS, Dash, SmoothStream support on Android
* Added `laylist.replaceAt` method

## 2.0.3+6

* ExoPlayer network now set `allowCrossProtocolRedirect=true` by default
* Fixed notification hide on livestream pause (android)
* Added custom icons for android from drawable names
* Fixed notification texts on Samsung devices

## 2.0.3+1

* Added custom notification icons for Android (in AndroidManifest.xml)
* Fixed `seek` and `seekBy` not working on the web
* `PlayList.startIndex` is now mutable
* Stop player then call `play` reopen it at `playlist.startIndex`
* Increased buffer size on android/exoplayer
* Added keepLoopMode on prev/next

## 2.0.2

* Breaking change : `loop` boolean now enumerate 3 values : `none`, `single` and `playlist`

## 2.0.1+9

* Added `.showNotification = true/false` to hide dynamically displayed notification
* Added custom action on notif click(android)
* Added `isBuffering` to `RealtimePlayingInfos`
* Added `AssetsAudioPlayerGroup` (beta)
* Added Headers in `Audio.network` & `Audio.liveStream`

## 2.0.1

* Added `.playerState` (play/pause/stop)
* Stop now ping finish listeners

## 2.0.0+6

* Added MacOS support
* Fixed gapeless loop (single audio)
* Fixed audio file notification

## 1.7.0

* Fixed bluetooth on android on some devices
* Fallback to android native MediaPlayer if exoplayer can't read the file
* Added `audio.updateMetas` to update notification content after creation
* Android Seekbar notification is now optional
* Android usable notification Seekbar
* Added stop custom notification action

## 1.6.3

* Custom notification icon (android)
* Custom notification actions
* Fixed notification close on android
* Fixed android auto-focus
* Added playInBackground mode
* Added shuffle

## 1.6.1

* Playlist is now mutable, we can add audios after creation
* renamed `ReadingPlaylist get playlist` to `ReadingPlaylist get readingPlaylist`
* added `Playlist get playlist`

## 1.6.0+4

* Fixed playlist issue on android
* Fixed issue on bluetooth android play/pause
* Fixed PlayerBuilder currentPosition
* Added extra map into audio

## 1.6.0

* Added some checks on swift code
* Fixed totalDuration or liveStream
* Fixed ios notifications
* Added bluetooth headset actions (play/pause/next/prev/stop)

## 1.5.0

* Added `Audio.liveStream(url)`
* Fixed notification image from assets on android
* Fixed android notification actions on playlist
* Added `AudioWidget`

## 1.4.7

* added `package` on assets audios (& notif images)
* all methods return Future
* open can throw an exception if the url is not found

## 1.4.6+1

* fixed android notifications actions
* refactored package, added `src/` and `package` keyword
* added player_builders

## 1.4.5

* fixed implementation of local file play on iOS

## 1.4.4

* Added notifications on android

## 1.4+3+6

* Beta fix for audio focus

## 1.4+3+5 

* Beta implementation of local file play on iOS

## 1.4.3+4

* Moved to last flutter version `>=1.12.13+hotfix.6`
* Implemented new android `FlutterPlugin` 
* Stop all players while getting a phone call
* Added `playspeed` as optional parameter on on open()

## 1.4.2+1

* Moved to android ExoPlayer
* Added `playSpeed` (beta)
* Added `forwardRewind` (beta)
* Added `seekBy`

## 1.4.0+1

* Bump gradle versions : `wrapper`=(5.4.1-all) `build:gradle`=(3.5.3)

## 1.4.0

* Added `respectSilentMode` as open optional argument
* Added `showNotification` on iOS to map with MPNowPlayingInfoCenter (default: false)
* Added `metas` on audios (title, artist, ...) for notifications
* Use new plugin build format for iOS

## 1.3.9

* Empty constructor now create a new player
* Added factory AssetsAudioPlayer.withId()
* Added `playAndForget` witch create, open, play & dispose the player on finish
* Added AssetsAudioPlayer.allPlayers() witch returns a map of all players
* Reworked the android player

## 1.3.8+1

* Added `seek` as optional parameter on `open` method

## 1.3.8

* Fully rebased the web support on html.AudioElement (instead of howler)
* Fully rebases the ios support on AvPlayer (instead of AvAudioPlayer)
* Added support for network audios with `.open(Audio.network(url))` on Android/ios/web

## 1.3.7+1

* Added `RealtimePlayingInfos` stream

## 1.3.6+1

* Added volume as optional parameter on open()

## 1.3.6

* Extracted web support to assets_audio_player_web: 1.3.6

## 1.3.5+1

* Volume does not reset anymore on looping audios

## 1.3.4

* Fixed player on Android

## 1.3.3

* Fixed build on Android & iOS

## 1.3.2

- Rewritten the web support, using now https://github.com/florent37/flutter_web_howl

## 1.3.1+2

* Upgraded RxDart dependency
* fixed lint issues
* lowerCamelCase AssetsAudioPlayer volumes consts 

## 1.3.1

* Fixed build on iOS

## 1.3.0 

* Added web support, works only on debug mode

## 1.2.8

* Added constructors 
- AssetsAudioPlayer.newPlayer
- AssetsAudioPlayer(id: "PLAYER_ID") 

to create new players and play multiples songs in parallel

the default constructor AssetsAudioPlayer() still works as usual

## 1.2.7

* Added "volume" property (listen/set)

## 1.2.6

* Added an "autoPlay" optional attribute to open methods

## 1.2.5

* Compatible with Swift 5

## 1.2.4

* Added playlist

## 1.2.3

* Added playlist (beta)

## 1.2.1

* Added looping setter/getter

## 1.2.0

* Upgraded RxDart to 0.23.1
* Fixed assets playing on iOS
* Fixed playing location on Android

## 0.0.1

* initial release.
