main.dart 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import 'package:chewie/chewie.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:video_player/video_player.dart';
  5. void main() {
  6. runApp(
  7. MaterialApp(
  8. home: ChewieDemo(),
  9. )
  10. );
  11. }
  12. class ChewieDemo extends StatefulWidget {
  13. ChewieDemo({this.title = 'Chewie Demo'});
  14. final String title;
  15. @override
  16. State<StatefulWidget> createState() {
  17. return _ChewieDemoState();
  18. }
  19. }
  20. class _ChewieDemoState extends State<ChewieDemo> {
  21. TargetPlatform _platform;
  22. VideoPlayerController _videoPlayerController1;
  23. VideoPlayerController _videoPlayerController2;
  24. ChewieController _chewieController;
  25. double aspectRatio=1;
  26. @override
  27. void initState() {
  28. super.initState();
  29. _videoPlayerController1 = VideoPlayerController.network(
  30. 'https://v-cdn.zjol.com.cn/276998.mp4')
  31. ..initialize().then((_){
  32. _chewieController = ChewieController(
  33. videoPlayerController: _videoPlayerController1,
  34. allowedScreenSleep: false,
  35. aspectRatio: _videoPlayerController1.value.aspectRatio,
  36. autoPlay: true,
  37. looping: true,
  38. customControls: I2MaterialControls(
  39. ),
  40. );
  41. setState(() {
  42. });
  43. });
  44. _videoPlayerController2 = VideoPlayerController.network(
  45. 'https://v-cdn.zjol.com.cn/276985.mp4')
  46. ..initialize().then((_){
  47. setState(() {
  48. });
  49. });
  50. }
  51. @override
  52. void dispose() {
  53. _videoPlayerController1.dispose();
  54. _videoPlayerController2.dispose();
  55. _chewieController.dispose();
  56. super.dispose();
  57. }
  58. @override
  59. Widget build(BuildContext context) {
  60. return MaterialApp(
  61. title: widget.title,
  62. theme: ThemeData.light().copyWith(
  63. platform: _platform ?? Theme.of(context).platform,
  64. ),
  65. home: Scaffold(
  66. // appBar: AppBar(
  67. // title: Text(widget.title),
  68. // ),
  69. body: Column(
  70. children: <Widget>[
  71. Stack(
  72. children: <Widget>[
  73. Container(
  74. constraints: BoxConstraints(maxHeight: 200),
  75. child: _chewieController == null ? Container() : Chewie(
  76. controller: _chewieController,
  77. ),
  78. color: Colors.black,
  79. ),
  80. ],
  81. )
  82. ],
  83. ),
  84. ),
  85. );
  86. }
  87. }