Search packages, repositories and app categories

Package detailsv2.2.1

subtitle_wrapper_package

A Subtitle Wrapper package, this subtitle wrapper package displays subtitles for a video player.

AndroidiOSmacOS
30-day downloads
859
Likes
79
Pub points
140

Install package

flutter pub add subtitle_wrapper_package

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The subtitle_wrapper_package is a Flutter plugin designed to display subtitles for video players. It integrates seamlessly with Flutter's video playback capabilities, enabling developers to render timed text overlays synchronized with video content. The package supports multiple subtitle formats and provides a clean, customizable interface for displaying captions. Built for cross-platform use, it works on Android, iOS, and macOS, making it ideal for multimedia applications requiring accessible, accurate subtitle rendering.

Use cases

  • Video playback with subtitles
  • Multilingual video apps
  • Accessibility features in media players
  • Educational video platforms
  • Live streaming with captioning

Key features

  • Timed subtitle synchronization
  • Support for multiple subtitle formats
  • Cross-platform compatibility
  • Customizable subtitle styling
  • Easy integration with video players

Suitable for

  • Developers building video apps
  • Apps requiring accessibility support
  • Educational or language learning platforms
  • Media streaming services

Considerations

  • Requires compatible video player setup
  • Subtitle file format must be supported
  • Limited to basic subtitle rendering without advanced editing

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

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]

Categories

Dependencies

Dependency list 6 items

Source repository

Projects using this package

No data available yet.