Joran-Dob / flutter_subtitle_wrapper

This is an subtitle package for flutter video player.
https://pub.dev/packages/subtitle_wrapper_package
MIT License
33 stars 63 forks source link
accessibility flutter hacktoberfest subtitle-wrapper subtitles video video-player

subtitle_wrapper_package

Test and (dry-run) publish package

codecov licence

Features

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.

Installation

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 :tada:

 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,
       ),
    ),

Example

Demonstrates how to use the subtitle_wrapper_package plugin.

See the example documentation for more information.

Changelog

See CHANGELOG.md.

Contributing

Feel free to contribute by opening issues and/or pull requests. Your feedback is very welcome!

License

MIT License

Copyright (c) [2019] [Joran Dob]