smf_core 0.0.5 smf_core: ^0.0.5 copied to clipboard
A core package that provides some reusable widgets, text, extensions and utils, etc.
A core package that provides some reusable widgets, text, extensions and utils, etc.
Features #
- Ready to use paginated
freezed
domain model. - Ready to use some network exceptions.
SizeConfig
for responsive.- Some extensions for
BuildContext
,DateTime
,Dio
andString
. - Some helper classes and functions
- Logger with some colors and types.
- Some common used
rivperpod
providers for instances. Vimeo
video links fetching viaid
YouTube
video links fetching vialink
orid
.
Getting started #
You do not need any requirements right now.
Usage #
To use this package, all you have to do is to import.
import 'package:smf_core/smf_core.dart';
Vimeo #
To get video id from vimeo url
final VimeoRemoteService service = VimeoRemoteService();
final response = await service.fetchVimeoInfoFromUrl(
url: 'https://vimeo.com/29474908',
);
final videoId = await response.when(
data: (info) => info.videoId.toString(),
);
To get list of vimeo
video links
final vimeoService = VimeoRemoteService();
final response = await vimeoService.fetchAllVimeoVideoLinks(
videoId: videoId,
);
final videLinks = await remoteResponse.when(
data: (videos) => videos,
);
YouTube #
To get list of youtube
video links
final youtubeService = YoutubeService();
final urls = await youtubeService.getVideoQualityUrlsFromYoutube(
'https://www.youtube.com/watch?v=gYNTcgZVcWw',
);
// Create resolutions map
Map<String, String> resolutionsMap = {};
for (var link in urls.reversed) {
String processedKey = link.quality.toString();
resolutionsMap[processedKey] = link.url;
}
And you can use above urls
and resolutionsMap
within your player.
Additional information #
Package repository link is here