dvLoadCaptionText function

Future<String> dvLoadCaptionText(
  1. DVMediaSource source
)

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);
  }
}