相关疑难解决方法(0)

如何让视频在不拉伸的情况下填满屏幕(使用 Chewie 或类似工具)?

正如标题所说,是否可以让视频充满屏幕而不出现明显的拉伸?如果是这样,我该如何用咀嚼做到这一点?

咀嚼链接: https: //pub.dev/packages/chewie

问题在此输入图像描述

播放器填满屏幕,但视频被拉伸,因为我使用了 MediaQuerys,但除了提供宽高比之外,我不知道有任何其他方法可以更改播放器的大小。我需要保留视频的宽高比,但还要让视频适合屏幕。

我当前的代码

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

class MyVideoPlayer extends StatefulWidget {
  final String path;

  MyVideoPlayer({Key key, @required this.path}) : super(key: key);

  @override
  _MyVideoPlayerState createState() => new _MyVideoPlayerState();
}

class _MyVideoPlayerState extends State<MyVideoPlayer> {
  VideoPlayerController _videoPlayerController;
  ChewieController _chewieController;
  Future<void> _future;
  TargetPlatform _platform;

  Future<void> initVideoPlayer() async {
    await _videoPlayerController.initialize();
    setState(() {
      print(_videoPlayerController.value.aspectRatio);
      _chewieController = ChewieController(
        aspectRatio: MediaQuery.of(context).size.width/ MediaQuery.of(context).size.height,
        videoPlayerController: _videoPlayerController,
        autoPlay: false,
        looping: false,
        // showControls: false,
        materialProgressColors: ChewieProgressColors(
          playedColor: …
Run Code Online (Sandbox Code Playgroud)

video dart exoplayer flutter

7
推荐指数
2
解决办法
1万
查看次数

颤振相机预览

我是Flutter和Dart的新手,所以请多多包涵。我正在尝试使用Flutter通过Camera Plugin显示摄像机预览,但是有两个问题。1)预览被拉伸,因此看起来很奇怪。2)我想BottomNavigationBar在预览下方显示一个,但是“摄像机预览”使用了所有屏幕空间。

我初始化相机并打开预览:

@override
Widget build(BuildContext context) {

  if (!_isReady) return new Container();
  if (!controller.value.initialized) return new Container();

  return new CameraPreview(controller);
}
Run Code Online (Sandbox Code Playgroud)

1)这是我调用的类的构建方法_CameraWidgetState。如何使此预览看起来不那么拉伸?

2)为了使CameraWidget不会占用所有空间,我尝试将它放到Scaffold没有运气的内部:

Widget build(BuildContext context) {
return new Scaffold(
  appBar: new AppBar(
    title: new Text(widget.title),
  ),
  body: new Center(
    child: new CameraWidget(),
  ),
  bottomNavigationBar: new BottomNavigationBar(
    items: [
      new BottomNavigationBarItem(
          icon: new Icon(Icons.camera), title: new Text("Left")),

      new BottomNavigationBarItem(
          icon: new Icon(Icons.favorite),
          title: new Text("Right"))
    ],
  ),
);
}
Run Code Online (Sandbox Code Playgroud)

任何想法或帮助表示赞赏!

dart flutter

5
推荐指数
1
解决办法
3809
查看次数

如何设置 Flutter CameraPreview 大小“全屏”

我正在使用 CameraPreview 测量对象的高度,但问题是我无法全屏设置 cameraPreview 高度。

我试过Positioned widget,它填满了屏幕,但图像被拉伸了。我试过Transform Widget,但高度没有填满全屏,空白即将来临。图像没有被拉伸。

我的代码:

final size = MediaQuery.of(context).size;
final deviceRatio = size.width / size.height;

return Stack(
            children: <Widget>[
              Transform.scale(
                scale: controller.value.aspectRatio/deviceRatio,
                child: new AspectRatio(
                  aspectRatio: controller.value.aspectRatio,
                  child: new CameraPreview(controller),
                ),
              ),);
Run Code Online (Sandbox Code Playgroud)

请帮助我在没有图像拉伸的情况下安装 CameraPreview "FULLSCREEN"。

在此处输入图片说明

android flutter flutter-layout

3
推荐指数
4
解决办法
5816
查看次数

标签 统计

flutter ×3

dart ×2

android ×1

exoplayer ×1

flutter-layout ×1

video ×1