main.dart 2.2 KB

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