The Webfeed Flutter package for Appeto SDK.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

57 行
1.6 KiB

  1. import 'package:xml/xml.dart';
  2. class Content {
  3. final String url;
  4. final String type;
  5. final int fileSize;
  6. final String medium;
  7. final bool isDefault;
  8. final String expression;
  9. final int bitrate;
  10. final double framerate;
  11. final double samplingrate;
  12. final int channels;
  13. final int duration;
  14. final int height;
  15. final int width;
  16. final String lang;
  17. Content({
  18. this.url,
  19. this.type,
  20. this.fileSize,
  21. this.medium,
  22. this.isDefault,
  23. this.expression,
  24. this.bitrate,
  25. this.framerate,
  26. this.samplingrate,
  27. this.channels,
  28. this.duration,
  29. this.height,
  30. this.width,
  31. this.lang,
  32. });
  33. factory Content.parse(XmlElement element) {
  34. return Content(
  35. url: element.getAttribute('url'),
  36. type: element.getAttribute('type'),
  37. fileSize: int.tryParse(element.getAttribute('fileSize') ?? '0'),
  38. medium: element.getAttribute('medium'),
  39. isDefault: element.getAttribute('isDefault') == 'true',
  40. expression: element.getAttribute('expression'),
  41. bitrate: int.tryParse(element.getAttribute('bitrate') ?? '0'),
  42. framerate: double.tryParse(element.getAttribute('framerate') ?? '0'),
  43. samplingrate: double.tryParse(
  44. element.getAttribute('samplingrate') ?? '0',
  45. ),
  46. channels: int.tryParse(element.getAttribute('channels') ?? '0'),
  47. duration: int.tryParse(element.getAttribute('duration') ?? '0'),
  48. height: int.tryParse(element.getAttribute('height') ?? '0'),
  49. width: int.tryParse(element.getAttribute('width') ?? '0'),
  50. lang: element.getAttribute('lang'),
  51. );
  52. }
  53. }