FlutterSoundPlayer class

A Player is an object that can playback from various sources.


Using a player is very simple :

  1. Create a new FlutterSoundPlayer

  2. Open it with openAudioSession()

  3. Start your playback with startPlayer().

  4. Use the various verbs (optional):

  5. Stop your player : stopPlayer()

  6. Release your player when you have finished with it : closeAudioSession(). This verb will call stopPlayer() if necessary.


Constructors

FlutterSoundPlayer({Level logLevel = Level.debug})
Instanciate a new Flutter Sound player. The optional paramater Level logLevel specify the Logger Level you are interested by.

Properties

foodSink StreamSink<Food>?
The sink side of the Food Controller
no setter
hashCode int
The hash code for this object.
no setterinherited
isPaused bool
Test the Player State
no setter
isPlaying bool
Test the Player State
no setter
isStopped bool
Test the Player State
no setter
logger → Logger
The FlutterSoundPlayerLogger Logger getter
no setter
onProgress Stream<PlaybackDisposition>?
The stream side of the Food Controller
no setter
playerState PlayerState
The current state of the Player
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

closeAudioSession() Future<void>
Close an open session.
dispositionStream() Stream<PlaybackDisposition>?
Provides a stream of dispositions which provide updated position and duration as the audio is played.
feedFromStream(Uint8List buffer) Future<void>
Used when you want to play live PCM data synchronously.
getPlayerState() Future<PlayerState>
Query the current state to the Tau Core layer.
getProgress() Future<Map<String, Duration>>
Get the current progress of a playback.
getResourcePath() Future<String?>
Get the resource path.
isDecoderSupported(Codec codec) Future<bool>
Returns true if the specified decoder is supported by flutter_sound on this platform
isOpen() bool
Return true if the Player has been open
log(Level logLevel, String msg) → void
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
nowPlaying(Track track, {Duration? duration, Duration? progress, TonSkip? onSkipForward, TonSkip? onSkipBackward, TonPaused? onPaused, bool? defaultPauseResume}) Future<void>
Set the Lock screen fields without starting a new playback.
openAudioSession({AudioFocus focus = AudioFocus.requestFocusAndKeepOthers, SessionCategory category = SessionCategory.playAndRecord, SessionMode mode = SessionMode.modeDefault, AudioDevice device = AudioDevice.speaker, int audioFlags = outputToSpeaker | allowBlueToothA2DP | allowAirPlay, bool withUI = false}) Future<FlutterSoundPlayer?>
Open the Player.
pausePlayer() Future<void>
Pause the current playback.
resumePlayer() Future<void>
Resume the current playback.
seekToPlayer(Duration duration) Future<void>
To seek to a new location.
setAudioFocus({AudioFocus focus = AudioFocus.requestFocusAndKeepOthers, SessionCategory category = SessionCategory.playback, SessionMode mode = SessionMode.modeDefault, AudioDevice device = AudioDevice.speaker, int audioFlags = outputToSpeaker | allowBlueTooth | allowBlueToothA2DP | allowEarPiece}) Future<void>
Set or unset the Audio Focus.
setLogLevel(Level aLevel) Future<void>
Used if the App wants to dynamically change the Log Level. Seldom used. Most of the time the Log Level is specified during the constructor.
setSpeed(double speed) Future<void>
Change the playback speed
setSubscriptionDuration(Duration duration) Future<void>
Specify the callbacks frenquency, before calling startPlayer.
setUIProgressBar({Duration? duration, Duration? progress}) Future<void>
Used if the App wants to control itself the Progress Bar on the lock screen.
setVolume(double volume) Future<void>
Change the output volume
startPlayer({String? fromURI, Uint8List? fromDataBuffer, Codec codec = Codec.aacADTS, int sampleRate = 16000, int numChannels = 1, TWhenFinished? whenFinished}) Future<Duration?>
Used to play a sound.
startPlayerFromMic({int sampleRate = 44000, int numChannels = 1}) Future<void>
Starts the Microphone and plays what is recorded.
startPlayerFromStream({Codec codec = Codec.pcm16, int numChannels = 1, int sampleRate = 16000}) Future<void>
Used to play something from a Dart stream
startPlayerFromTrack(Track track, {TonSkip? onSkipForward, TonSkip? onSkipBackward, TonPaused? onPaused, TWhenFinished? whenFinished, Duration? progress, Duration? duration, bool? defaultPauseResume, bool removeUIWhenStopped = true}) Future<Duration?>
Play data from a track specification and display controls on the lock screen or an Apple Watch.
stopPlayer() Future<void>
Stop a playback.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited