// pubspec.yaml dependencies:
// video_player: ^2.7.0
// file_picker: ^6.1.1
// path_provider: ^2.1.2
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
import 'package:file_picker/file_picker.dart';
void main() {
runApp(MySecureVideos());
}
class MySecureVideos extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: VideoHomePage(),
debugShowCheckedModeBanner: false,
);
}
}
class VideoHomePage extends StatefulWidget {
@override
_VideoHomePageState createState() => _VideoHomePageState();
}
class _VideoHomePageState extends State<VideoHomePage> {
VideoPlayerController? _controller;
Future<void> pickVideo() async {
final result = await FilePicker.platform.pickFiles(type: FileType.video);
if (result != null && result.files.single.path != null) {
\_controller = VideoPlayerController.file(
File(result.files.single.path!),
)..initialize().then((\_) {
setState(() {});
\_controller!.play();
});
}
}
@override
void dispose() {
\_controller?.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('MySecureVideos')),
body: Center(
child: \_controller == null
? Text('कोई वीडियो प्ले नहीं किया गया')
: AspectRatio(
aspectRatio: \_controller!.value.aspectRatio,
child: VideoPlayer(\_controller!),
),
),
floatingActionButton: FloatingActionButton(
onPressed: pickVideo,
child: Icon(Icons.video_library),
),
);
}
}