audio_video_player 0.1.0-beta.6
audio_video_player: ^0.1.0-beta.6 copied to clipboard
A comprehensive Flutter plugin for audio and video playback with playlists, albums, background audio, PiP, downloads and more.
0.1.0-beta.3 #
Bug Fixes and Improvements #
- Fixed a bug where
AudioControllerwould not play after a seek operation. - Added Exception Handling for cases where
AudioControlleris not initialized.AudioControllernow throws an exception if it is used before initialization.
0.1.0-beta.2 #
Bug Fixes #
- Fixed Android package directories to match pubspec declarations
- Updated LICENSE copyright year to 2024
- Migrated deprecated
just_audioAPIs: replacedConcatenatingAudioSourcewithAudioPlayer.setAudioSources/addAudioSources - Updated
just_audiodependency to ^0.10.5 - Corrected API documentation examples with proper method names (
seek()→seekTo(),setShuffleMode()→setShuffleEnabled()) - Enhanced .gitignore with comprehensive patterns for Flutter plugins
- Fixed SDK constraints and dependency versions for better compatibility
0.1.0-beta.1 #
Initial pre-release of audio_video_player.
Audio #
AudioController— full audio playback powered byjust_audio.- Supports single tracks (
URISource,FileSource,AssetSource), playlists (PlaylistSource), and albums (AlbumSource). - Background playback and lock-screen / notification controls via
just_audio_background. - Reactive streams:
playerStateStream,positionStream,durationStream,bufferedPositionStream,volumeStream,speedStream,queueStream,currentItemStream,currentIndexStream,repeatModeStream,shuffleEnabledStream. - Queue management:
add(),addAll(),removeAt(),move(),clear(). - Shuffle (
setShuffleMode), repeat (setRepeatMode—off/one/all), speed (setSpeed), volume (setVolume).
- Supports single tracks (
SleepTimer— countdown timer with per-secondremainingStream; automatically pausesAudioControlleron expiry.EqualizerController— Android-only per-band EQ viajust_audio'sAndroidEqualizer.getBands(),setBandGain(index, db),reset(),setEnabled(bool).
AudioSessionManager— configures the system audio session viaaudio_session.
Video #
VideoController— single video item playback usingvideo_player+ Chewie UI.- Handles
https://,file://, andasset://URI schemes. setFit(VideoFit)— runtime video scaling (contain,cover,fill,fitWidth,fitHeight,scaleDown).setOrientation(VideoOrientation)— lock device orientation (auto,portrait,landscape).- Subtitle support: inline SRT/WebVTT via
AVMediaItem.subtitleContent, or remote/local file viaAVMediaItem.subtitleUri. - Exposes
chewieControllerfor directChewiewidget integration.
- Handles
VideoPlaylistController— ordered video queue with auto-advance.start(),skipToNext(),skipToPrevious(),skipToIndex().add(item)/remove(itemId)for runtime queue editing.- Fit and orientation settings persist across track changes.
currentControllerStreamfor reactive UI updates.
PipController— native Picture-in-Picture.isPipAvailable(),enterPip(),exitPip().- Android:
Activity.enterPictureInPictureMode(). - iOS:
AVPictureInPictureController.
SubtitleController— parses SRT and WebVTT, providescurrentCueStream.
Downloads #
DownloadManager— offline downloads viabackground_downloader.download(item)returns aStream<DownloadProgress>(progress, status, completion).cancel(itemId),deleteDownload(itemId).isDownloaded(item),getDownloadedItems().- Files stored at
<appDocuments>/audio_video_player/downloads/.
Cast #
CastController— platform bridge for AirPlay (iOS) and Chromecast (Android stub).showAirPlayRoutePicker()— iOS system route picker.discoverDevices(),connect(device),cast(uri),disconnect()— Chromecast flow (requires Google Cast SDK in host app).
Models #
AVMediaItem— unified media descriptor for audio and video; supports HTTP headers, extras, and subtitle metadata.Playlist— immutable ordered list ofAVMediaItems withadd,remove,reorderhelpers.Album—Playlistwithartistandyearfields.MediaSource— sealed class hierarchy:URISource,FileSource,AssetSource,PlaylistSource,AlbumSource.AVPlayerState—idle|loading|ready|playing|paused|completed|error.RepeatMode—off|one|all.AVMediaType—audio|video.