1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| import 'dart:ui';
import 'package:chewie/chewie.dart'; import 'package:flutter/material.dart'; import 'package:video_player/video_player.dart';
class ChewiePlayer extends StatefulWidget { const ChewiePlayer({Key? key, required this.tvUrl}) : super(key: key); final List tvUrl;
@override State<StatefulWidget> createState() => _ChewiePlayerState(); }
class _ChewiePlayerState extends State<ChewiePlayer> { final double _viewHeight = window.physicalSize.width / 16 * 9; late final videoPlayerController; late final chewieController; late final playerWidget;
void _chewiePlayerInit() { videoPlayerController = VideoPlayerController.network(widget.tvUrl[0]); chewieController = ChewieController( videoPlayerController: videoPlayerController, aspectRatio: 3 / 2, autoPlay: true, looping: true, ); playerWidget = Chewie( controller: chewieController, ); }
@override void initState() { super.initState(); _chewiePlayerInit(); }
@override void dispose() { super.dispose(); videoPlayerController.dispose(); chewieController.dispose(); }
@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text( 'chewie测试', style: TextStyle(color: Colors.white), ), ), body: playerWidget, ); } }
|
v1.5.2