Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:async';
- import 'package:flutter/material.dart';
- import 'package:video_player/video_player.dart';
- void main() => runApp(const StoryDetailPage());
- class StoryDetailPage extends StatelessWidget {
- const StoryDetailPage({Key? key}) : super(key: key);
- @override
- Widget build(BuildContext context) {
- return const MaterialApp(
- title: 'Video Player Demo',
- home: VideoPlayerScreen(),
- );
- }
- }
- class VideoPlayerScreen extends StatefulWidget {
- const VideoPlayerScreen({Key? key}) : super(key: key);
- @override
- _VideoPlayerScreenState createState() => _VideoPlayerScreenState();
- }
- class _VideoPlayerScreenState extends State<VideoPlayerScreen> {
- late VideoPlayerController _controller;
- late Future<void> _initializeVideoPlayerFuture;
- @override
- void initState() {
- _controller = VideoPlayerController.asset("assets/video_1.mp4");
- _initializeVideoPlayerFuture = _controller.initialize();
- _controller.setLooping(true);
- super.initState();
- }
- @override
- void dispose() {
- _controller.dispose();
- super.dispose();
- }
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: const Text('Video'),
- ),
- body: FutureBuilder(
- future: _initializeVideoPlayerFuture,
- builder: (context, snapshot) {
- if (snapshot.connectionState == ConnectionState.done) {
- return AspectRatio(
- aspectRatio: _controller.value.aspectRatio,
- child: VideoPlayer(_controller),
- );
- } else {
- return const Center(
- child: CircularProgressIndicator(),
- );
- }
- },
- ),
- floatingActionButton: FloatingActionButton(
- onPressed: () {
- setState(() {
- if (_controller.value.isPlaying) {
- _controller.pause();
- } else {
- _controller.play();
- }
- });
- },
- child: Icon(
- _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
- ),
- ),
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement