dvLoadCaptionText function
Reads a caption file: a bundled asset, a URL or a file.
Implementation
Future<String> dvLoadCaptionText(DVMediaSource source) async {
switch (source.kind) {
case DVMediaSourceKind.asset:
return rootBundle.loadString(source.reference);
case DVMediaSourceKind.url:
final http.Response response =
await http.get(Uri.parse(source.reference));
if (response.statusCode >= 400) {
throw StateError('the captions at ${source.reference} answered '
'${response.statusCode}');
}
return response.body;
case DVMediaSourceKind.file:
return dvReadCaptionFile(source.reference);
}
}