如何:默认情况下显示video_player插件的播放控件(flutter-web) [英] How to: show playback controls by default for video_player plugin (flutter-web)

查看:760
本文介绍了如何:默认情况下显示video_player插件的播放控件(flutter-web)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

默认情况下,有什么方法可以显示视频播放器的控件吗?如果我在浏览器中右键单击视频,便可以显示它们,因此我假设默认情况下必须有一种显示方法.

Is there any way to show the video player's controls by default? I'm able to show them if I right-click the video in a browser, so I'm assuming there must be a way to show by default..

推荐答案

默认情况下,我无法找到一种显示video_player控件的方法,但是使用了此程序包,对于Flutter-web来说效果很好: https://pub.dev/packages/chewie

I couldn't figure out a way to show the video_player controls by default, but instead have used this package and it works fine for Flutter-web: https://pub.dev/packages/chewie

我很确定您还需要默认的video_player程序包...

I'm pretty sure you also need the default video_player package...

这是一个例子:

import 'package:chewie/chewie.dart';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

class ChewieVideo extends StatefulWidget {
  // This will contain the URL/asset path which we want to play
  final VideoPlayerController videoPlayerController;
  final bool looping;

  ChewieVideo({
    @required this.videoPlayerController,
    this.looping,
    Key key,
  }) : super(key: key);

  @override
  _ChewieVideoState createState() => _ChewieVideoState();
}

class _ChewieVideoState extends State<ChewieVideo> {
  ChewieController _chewieController;

  @override
  void initState() {
    super.initState();
    // Wrapper on top of the videoPlayerController

    _chewieController = ChewieController(
      videoPlayerController: widget.videoPlayerController,

      // Prepare the video to be played and display the first frame
      autoInitialize: true,
      allowFullScreen: false,
      aspectRatio: 16 / 9,
      looping: widget.looping,
      autoPlay: false,
      showControlsOnInitialize: false,
      // Errors can occur for example when trying to play a video
      // from a non-existent URL
      errorBuilder: (context, errorMessage) {
        return Center(
          child: Text(
            errorMessage,
            style: TextStyle(color: Colors.white),
          ),
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(8.0),
      child: Chewie(
        controller: _chewieController,
      ),
    );
  }

  @override
  void dispose() {
    widget.videoPlayerController.dispose();
    _chewieController.dispose();
    super.dispose();
  }
}

这篇关于如何:默认情况下显示video_player插件的播放控件(flutter-web)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆