FlutterNativePlayerController class
A controller that provides full control over the native video player.
Use this controller to interact with the player programmatically:
- Play, pause, seek
- Change playback speed
- Change video quality
- Control subtitles
- Monitor playback state and duration
Example:
final controller = FlutterNativePlayerController();
// Listen to playback state changes
controller.playbackStateStream.listen((state) {
if (state == PlaybackState.play) {
print('Video is playing');
}
});
// Control playback
controller.play();
controller.pause();
controller.seekTo(Duration(seconds: 30));
Constructors
Properties
- bufferedDuration → Duration
-
Buffered duration
no setter
- currentPosition → Duration
-
Current playback position
no setter
- currentQualityHeight → int
-
Get current video quality height
no setter
- currentQualityUrl → String
-
Get current quality URL
no setter
- currentQualityWidth → int
-
Get current video quality width
no setter
- currentSpeed → double
-
Get current playback speed
no setter
- currentSubtitle → PlayerKidSubtitlesSource?
-
Get current selected subtitle
no setter
-
downloadProgressStream
→ Stream<
double> -
Stream of download progress (0.0 to 100.0)
no setter
-
downloadStateStream
→ Stream<
DownloadState> -
Stream of download state changes
no setter
- durationState → DurationState?
-
Current duration state (position, buffered, total)
no setter
-
durationStateStream
→ Stream<
DurationState> -
Stream of duration state changes (current position, buffered, total duration)
no setter
- fetchHlsMasterPlaylist → FetchHlsMasterPlaylist
-
Get the internal FetchHlsMasterPlaylist for subtitle handling
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isInitialized → bool
-
Whether the controller has been initialized
no setter
- isLoading → bool
-
Whether the player is currently loading
no setter
-
loadingStream
→ Stream<
bool> -
Stream of loading state changes
no setter
- playbackState → PlaybackState
-
Current playback state
no setter
-
playbackStateStream
→ Stream<
PlaybackState> -
Stream of playback state changes (play, pause, loading, finish, etc.)
no setter
- playerMethodManager → PlayerMethodManager
-
Get the internal PlayerMethodManager for advanced usage
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
subtitleStream
→ Stream<
PlayerKidSubtitlesSource?> -
Stream of subtitle changes
no setter
- totalDuration → Duration
-
Total duration of the video
no setter
Methods
-
cancelDownload(
) → Future< void> - Cancel current download
-
changeQuality(
QualityModel quality) → Future< void> - Change video quality
-
changeSubtitle(
PlayerKidSubtitlesSource subtitle) → Future< void> - Change subtitle
-
disableSubtitle(
) → Future< void> - Disable/turn off subtitle
-
dispose(
) → void - Dispose the controller and release resources
-
getAvailableQualities(
) → List< QualityModel> - Get available video qualities
-
getAvailableSubtitles(
) → List< PlayerKidSubtitlesSource> - Get available subtitles
-
initialize(
{required PlayerResource playerResource, required bool playWhenReady}) → void - Initialize the controller (called internally by FlutterNativePlayer)
-
isDownloadCompleted(
String url, void callback(bool)) → Future< void> - Check if video is downloaded
-
isPlaying(
) → Future< bool> - Check if the video is currently playing
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pause(
) → Future< void> - Pause video playback
-
play(
) → Future< void> - Start or resume video playback
-
playOrPause(
) → Future< void> - Toggle between play and pause based on current state
-
reinitialize(
) → Future< void> - Reinitialize the player
-
release(
) → Future< void> - Release the player resources
-
restart(
) → Future< void> - Restart the video from the beginning
-
retryDownload(
) → Future< void> - Retry failed download
-
seekBackward(
[Duration duration = const Duration(seconds: 10)]) → Future< void> - Seek backward by the specified duration (default: 10 seconds)
-
seekForward(
[Duration duration = const Duration(seconds: 10)]) → Future< void> - Seek forward by the specified duration (default: 10 seconds)
-
seekTo(
Duration position) → Future< void> - Seek to a specific position
-
setPlaybackSpeed(
double speed) → Future< void> - Set playback speed (e.g., 0.5, 1.0, 1.5, 2.0)
-
showDevices(
) → Future< void> - Show available audio/video devices (platform specific)
-
startDownload(
PlayerResource playerResource, int trackIndex) → Future< void> - Start downloading the video at specified quality
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited