MediaPlayerManager class

State-management-agnostic media player manager This class provides a clean API without forcing any specific state management solution Users can wrap this with their preferred state management (GetX, Riverpod, Bloc, etc.)

Constructors

MediaPlayerManager({PlayerctlService? service, LogLevel? logLevel})
Constructor with optional dependency injection

Properties

availablePlayers → List<String>
Get list of available players
no setter
currentMedia → MediaInfo
Get current media info
no setter
errorMessage → String
Get error message
no setter
hasActivePlayer → bool
Check if there's an active player
no setter
hashCode → int
The hash code for this object.
no setterinherited
isLoading → bool
Check if loading
no setter
isPlayerctlInstalled → bool
Check if playerctl is installed
no setter
logLevel → LogLevel
Get current log level
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectedPlayer → String
Get selected player
no setter
state → PlayerState
Get current state (synchronous)
no setter
stateStream → Stream<PlayerState>
Stream of state changes (for reactive programming)
no setter
volume → int
Get current volume
no setter

Methods

cycleLoop() → Future<bool>
Cycle through loop modes (None → Track → Playlist → None)
dispose() → void
Dispose resources
getPosition() → Future<int?>
Get current playback position in microseconds
initialize() → Future<void>
Initialize the manager
next() → Future<bool>
Next track - pauses other players when skipping
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pause() → Future<bool>
Pause
play() → Future<bool>
Play - pauses other players when starting playback
playPause() → Future<bool>
Play/Pause toggle - pauses other players when starting playback
previous() → Future<bool>
Previous track - pauses other players when skipping
refreshPlayerList() → Future<void>
Refresh the list of available players
retry() → Future<void>
Retry initialization if it failed
seek(int offsetMicroseconds) → Future<bool>
Seek relative to current position (positive = forward, negative = backward)
seekBackward(int seconds) → Future<bool>
Skip backward by specified number of seconds
seekForward(int seconds) → Future<bool>
Skip forward by specified number of seconds
seekTo(int positionMicroseconds) → Future<bool>
Seek to absolute position in microseconds
setLogLevel(LogLevel level) → void
Set log level at runtime
setVolume(int newVolume) → Future<bool>
Set volume (0-100)
startListening([String? player]) → void
Start listening to metadata changes
stop() → Future<bool>
Stop
stopListening() → void
Stop listening to metadata changes
switchPlayer(String playerName) → Future<void>
Switch to a different player
toggleShuffle() → Future<bool>
Toggle shuffle
toString() → String
A string representation of this object.
inherited
updateCurrentVolume() → Future<void>
Get current volume
updateLoopStatus() → Future<void>
Update loop status from player
updateShuffleStatus() → Future<void>
Update shuffle status from player

Operators

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