Media.asset constructor
Media.asset(
- String asset, {
- dynamic startTime = Duration.zero,
Makes Media object from assets.
WARNING
This method only works for Flutter. Might result in an exception on Dart CLI.
Implementation
factory Media.asset(
String asset, {
startTime: Duration.zero,
}) {
String? assetPath;
if (Platform.isWindows || Platform.isLinux) {
assetPath = path.join(
path.dirname(Platform.resolvedExecutable),
'data',
'flutter_assets',
asset,
);
} else if (Platform.isMacOS) {
assetPath = path.join(
path.dirname(Platform.resolvedExecutable),
'..',
'Frameworks',
'App.framework',
'Resources',
'flutter_assets',
asset,
);
} else if (Platform.isIOS) {
assetPath = path.join(
path.dirname(Platform.resolvedExecutable),
'Frameworks',
'App.framework',
'flutter_assets',
asset,
);
}
if (assetPath == null) {
// TODO: Add Android support.
throw UnimplementedError('The platform is not supported');
}
final url = Uri.file(assetPath, windows: Platform.isWindows);
return Media._(
mediaType: MediaType.asset,
resource: url.toString(),
metas: {},
startTime: startTime,
);
}