play_video.dart 1.58 KB
import 'package:flutter/material.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();

  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: () {
            Navigator.pop(context);
          },
        ),
        // body: IjkPlayer(mediaController: ijkMediaController),
        body: Container(
          color: Colors.black,
          child: Center(
            child: _controller.value.isInitialized
                ? AspectRatio(
                    aspectRatio: _controller.value.aspectRatio,
                    child: VideoPlayer(_controller),
                  )
                : CircularProgressIndicator(),
          ),
        ));
  }
}