play_video.dart
2.03 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:video_player/video_player.dart';
class PlayVideoPage extends StatefulWidget {
final String? url;
PlayVideoPage({Key? key, this.url}) : super(key: key);
@override
_PlayVideoPageState createState() => _PlayVideoPageState();
}
class _PlayVideoPageState extends State<PlayVideoPage> {
// IjkMediaController ijkMediaController = IjkMediaController();
late VideoPlayerController _controller;
@override
void initState() {
// TODO: implement initState
super.initState();
// ijkMediaController.setNetworkDataSource(
// widget.url,
// autoPlay: true,
// );
_controller = VideoPlayerController.network(widget.url!)
..initialize().then((_) {
setState(() {});
});
_controller.play();
_controller.setLooping(true);
}
@override
void dispose() {
super.dispose();
_controller.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: SystemAppBar(
'',
onTap: () {
if (Navigator.canPop(context)) {
Navigator.pop(context);
}
},
),
// body: IjkPlayer(mediaController: ijkMediaController),
body: _controller.value.isInitialized
? Center(
// child: AspectRatio(
// aspectRatio: _controller.value.aspectRatio,
child:
VideoPlayer(_controller),
// )
)
: Container(
width: double.infinity,
height: ScreenUtil().screenHeight,
color: Colors.black,
child: UnconstrainedBox(
child: SizedBox(
width: ScreenUtil().setWidth(80),
height: ScreenUtil().setWidth(80),
child: CircularProgressIndicator(),
),
)));
}
}