切威(Flutter)视频播放器

5
我正在使用自定义控制条的Chewie播放器,当播放器切换到全屏时,我无法看到控制条...我需要即使播放器进入全屏状态也能显示控制条。 我没有使用Chewie提供的控件,因为我不希望进度查找栏是可触摸的,即我不希望用户倒带视频....
以下是代码:-
@override
  void initState() {
    super.initState();

    _videoPlayerController1 = VideoPlayerController.network(widget.videoURL);

    _chewieController = ChewieController(
      videoPlayerController: _videoPlayerController1,
      //  aspectRatio: 3 / 2,
      autoPlay: false,
      looping: false,
      autoInitialize: true,
      showControls: true,
      fullScreenByDefault: false,
      //seekTo:value,
      startAt: Duration(milliseconds: widget.time),
      //customControls: customControl(),

      placeholder: Container(
        color: Colors.black87,
        child: Container(
          child: Center(
              child: CircularProgressIndicator(
            valueColor:
                new AlwaysStoppedAnimation<Color>(Colors.deepPurpleAccent),
          )),
        ),
      ),
    //  overlay:

      // autoInitialize: true,
    );

    setState(() {
      _loading = true;
    });

   

  }



@override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: _onWillPop,
      child: SafeArea(
        child: MaterialApp(
          home: Scaffold(
            backgroundColor: Colors.black,
            body: Column(
              children: <Widget>[
                Expanded(
                  child: Center(
                    child: GestureDetector(
                      onDoubleTap: () {
                        _chewieController.enterFullScreen();
                      },
                      onTap: () {
                        if (_videoPlayerController1.value.isPlaying) {
                          setState(() {
                            _chewieController.pause();
                            isPlaying = false;
                          });
                        } else {
                          setState(() {
                            _chewieController.play();
                            isPlaying = true;
                          });
                        }
                      },
                      child: Chewie(
                        controller: _chewieController,
                      ),
                    ),
                  ),
                ),
                Row(
                  children: [
                    FlatButton(
                      onPressed: () {
                        if (_videoPlayerController1.value.isPlaying) {
                          setState(() {
                            _chewieController.pause();
                            isPlaying = false;
                          });
                        } else {
                          setState(() {
                            _chewieController.play();
                            isPlaying = true;
                          });
                        }
                      },
                      child: Icon(
                        !_videoPlayerController1.value.isPlaying
                            ? Icons.play_arrow
                            : Icons.pause,
                        color: Colors.white,
                        size: 30,
                      ),
                    ),
                    ValueListenableBuilder(
                      valueListenable: _videoPlayerController1,
                      builder: (context, VideoPlayerValue value, child) {
                        //Do Something with the value.
                        if (value.initialized && value.isPlaying) {
                          return new LinearPercentIndicator(
                            width: MediaQuery.of(context).size.width - 180,
                            lineHeight: 8.0,
                            percent: (value.position.inSeconds.toDouble() /
                                value.duration.inSeconds.toDouble()),

                            linearStrokeCap: LinearStrokeCap.roundAll,
                            backgroundColor: Colors.grey,
                            progressColor: Colors.amber,
                          );
                        } else {
                          return new LinearPercentIndicator(
                            width: MediaQuery.of(context).size.width - 180,
                            lineHeight: 8.0,
                            percent: 0.0,
                            linearStrokeCap: LinearStrokeCap.roundAll,
                            backgroundColor: Colors.grey,
                            progressColor: Colors.amber,
                          );
                        }
                      },
                      //child:
                    ),
                    FlatButton(
                      onPressed: () {
                        _chewieController.enterFullScreen();
                        setState(() {
                          isFullscreen = true;
                        });

                      },
                      child: Icon(
                        Icons.fullscreen,
                        color: Colors.white,
                        size: 30,
                      ),
                    ),
//
                  ],
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }

大家好 - 我们如何更改视频中心(Chewie)播放按钮的背景颜色? - Sowmyan Soman
1个回答

2
您可以使用以下方法控制颜色按钮:
  materialProgressColors:ChewieProgressColors(backgroundColor: Colors.red,bufferedColor: Colors.red,

handleColor: Colors.blue,playedColor: Colors.orange),

添加到您的控制器中


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接