带有cloud_firestore插件的flutter video_player显示奇怪的视频宽高比]:

时间:2020-10-17 18:35:40

标签: firebase flutter google-cloud-firestore

我当前正在使用cloud_firestore:^ 0.13.7和video_player:^ 0.10.12 + 2!当我显示来自Firestore的视频(已经成功上传到Firebase)时,他们实际上一起工作得很好。但是有时候,并非总是如此,在显示视频时会出现奇怪的宽高比问题。

firestore的视频效果很好。但是,视频的纵横比是如此奇特,而视频却可以很好地播放而不会出现错误。例如,当我上传长宽比为300 * 400像素的视频时,长宽比为300 * 200或类似300 * 150(我无法找到缩小视频的确切长宽比)的丑陋视频会在我的应用中播放。此外,这种怪异的缩小并非总是会发生,而只是在某些时候会不可预测地发生。下面的代码段是我如何在应用中播放Firestore视频的方法:

ClipRRect(
          borderRadius: BorderRadius.circular(40.0),
          child: Column(children: [
            Center(
              child: FutureBuilder(
                future: _controller.initialize(),
                builder: (context, snapshot) {
                  if (snapshot.connectionState == ConnectionState.done) {
                    if (_controller.value.initialized) {
                      return AspectRatio(
                        aspectRatio: _controller.value.aspectRatio,
                        child: GestureDetector(
                          onTap: () {
                            if (!_controller.value.isPlaying) {
                              setState(() {});
                              _controller.initialize();
                            }
                          },
                          child: VideoPlayer(
                            _controller,
                          ),
                        ),
                      );
                    } else {
                      return Center(
                          child:
                              Image.asset('assets/images/logo_edit1.png'));
                    }
                  } else {
                    return Center(
                        child: Image.asset('assets/images/logo_edit1.png'));
                  }
                },
              ),
            ),
            FloatingActionButton(
              onPressed: () {
                setState(() {
                  _controller.value.isPlaying
                      ? _controller.pause()
                      : _controller.play();
                });
              },
              child: Icon(
                _controller.value.isPlaying
                    ? Icons.pause
                    : Icons.play_arrow,
              ),
              heroTag: null,
            ),
          ]),
        ),

奇怪的是,视频收缩并非总是发生,而且并非所有视频都发生,这都是完全不可预测的。 希望有人能弄清楚为什么发生这种奇怪的视频收缩现象,并能告诉我适当的解决方案。

清晰的答案非常感谢!!!预先感谢您[:

0 个答案:

没有答案