Subtitle playback for the 2 most widely used subtitle formats are supported currently which can be dynamically updated during playback from a url of content string. As well as basic styling of the subtitle text item.
The package is nearly completely unit tested and widget tests are in progress.
| Function | Description | Implemented |
|---|---|---|
| Parse WebVTT | Parsing of WebVtt subtitles. | ✔ |
| Parse SubRip (.srt) | Parsing of SubRip subtitles. | ✔ |
| Remote loading utf8 encoded subtitles | The parsing of subtitle files with the utf8 encoding from an url. | ✔ |
| Remote loading latin1 encoded subtitles | The parsing of subtitle files with the latin1 encoding from an url. | ✔ |
| Dynamic updating of subtitle | Update subtitle content during playback. | ✔ |
| Standard subtitle styling | Standard styling of subtitle items. | ✔ |
| Advance subtitle styling | Advance styling of subtitle items. Like custom fonts. | ✔ |
The basic setup of the package is really straight forward, create a instance of SubtitleController with a subtitleUrl or subtitlesContent depending if your resource is remote or local.
Unfortunately currently its required to specify the subtitle type so webvtt or srt .
After this you need to wrap your video player with the SubTitleWrapper and add the SubtitleController and videoPlayerController to the SubTitleWrapper . That's it 🎉
final SubtitleController subtitleController = SubtitleController(
subtitleUrl: "https://pastebin.com/raw/ZWWAL7fK",
subtitleType: SubtitleType.webvtt,
);
SubtitleWrapper(
videoPlayerController: videoPlayerController,
subtitleController: subtitleController,
subtitleStyle: SubtitleStyle(
textColor: Colors.white,
hasBorder: true,
),
videoChild: Chewie(
controller: chewieController,
),
),Demonstrates how to use the subtitle_wrapper_package plugin.
See the example documentation for more information.
See CHANGELOG.md.
Feel free to contribute by opening issues and/or pull requests. Your feedback is very welcome!
MIT License
Copyright (c) [2019] [Joran Dob]