64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Dart
		
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Dart
		
	
	
| import 'package:flutter/material.dart';
 | |
| import 'package:photo_view/photo_view.dart';
 | |
| import 'package:qhd_prevention/customWidget/video_player_widget.dart';
 | |
| import 'package:qhd_prevention/pages/my_appbar.dart';
 | |
| import 'package:video_player/video_player.dart';
 | |
| // 查看视频
 | |
| class BigVideoViewer extends StatefulWidget {
 | |
|   const BigVideoViewer({Key? key, required this.videoUrl}) : super(key: key);
 | |
| 
 | |
|   final String videoUrl;
 | |
| 
 | |
|   @override
 | |
|   State<BigVideoViewer> createState() => _BigVideoViewerState();
 | |
| }
 | |
| 
 | |
| class _BigVideoViewerState extends State<BigVideoViewer> {
 | |
| 
 | |
|   VideoPlayerController? _videoController;
 | |
| 
 | |
|   @override
 | |
|   void initState() {
 | |
|     // TODO: implement initState
 | |
|     super.initState();
 | |
| 
 | |
|     _videoController?.removeListener(_controllerListener);
 | |
|     _videoController?.dispose();
 | |
|     _videoController = VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl))
 | |
|       ..initialize().then((_) {
 | |
|         _videoController!
 | |
|           ..play()
 | |
|           ..addListener(_controllerListener);
 | |
|       });
 | |
|   }
 | |
| 
 | |
|   void _controllerListener() {
 | |
|     if (mounted) setState(() {});
 | |
|   }
 | |
| 
 | |
|   @override
 | |
|   void dispose() {
 | |
|     _videoController?.dispose();
 | |
|     super.dispose();
 | |
|   }
 | |
| 
 | |
|   @override
 | |
|   Widget build(BuildContext context) {
 | |
| 
 | |
|     return Scaffold(
 | |
|       backgroundColor: Colors.black,
 | |
|       appBar: MyAppbar(
 | |
|         backgroundColor: Colors.transparent, title: '',
 | |
|       ),
 | |
|       body: Center(
 | |
|         child: VideoPlayerWidget(
 | |
|         allowSeek: false,
 | |
|         controller: _videoController,
 | |
|         coverUrl:"",
 | |
|         aspectRatio: _videoController?.value.aspectRatio ?? 16/9,
 | |
|         ),
 | |
|       ),
 | |
|     );
 | |
|   }
 | |
| }
 |