我正在使用这个插件youtube_player_flutter: ^7.0.0+6
播放youtube视频。问题是,当我试图在全屏横向播放视频时,视频播放却从边缘被剪切,并在横向
中覆盖了整个屏幕
在这里你可以视频是不覆盖整个高度和宽度
我的代码
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:youtube_player_flutter/youtube_player_flutter.dart';
class video extends StatefulWidget {
@override
_videoState createState() => _videoState();
}
class _videoState extends State<video> {
String videoURL = "https://www.youtube.com/watch?v=oxsBSCf5-B8&list=RDoxsBSCf5-B8&start_radio=1";
YoutubePlayerController _controller;
@override
void initState() {
_controller = YoutubePlayerController(
initialVideoId: YoutubePlayer.convertUrlToId(videoURL)
);
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: SingleChildScrollView(
child: Container(
child:Column(
crossAxisAlignment:CrossAxisAlignment.stretch,
children: <Widget>[
YoutubePlayerBuilder(
player: YoutubePlayer(
controller: _controller,
aspectRatio:16/9,
showVideoProgressIndicator: true,
),
builder:(context,player){
return Column(
children: <Widget>[
player
],
);
},
),
],
),
),
),
),
);
}
}
5条答案
按热度按时间oyt4ldly1#
我刚才也有同样的问题。
我试过这个,它似乎适用于全屏。还添加了一个
OrientationBuilder
,用于仅在横向模式下删除AppBar
。\(onWillPop是为了在返回时暂停视频而设置的)
实际视频背后似乎有YouTube的默认菜单。如果你想出更好的解决方案,请让我知道。
xt0899hw2#
如果你想达到的目标是
1.在整个屏幕上显示视频(全屏)
1.与其他小部件一起在纵向显示视频小部件
这是我如何修复它
基于方向构建主体
}
使用不同部分构建主体时,检查屏幕方向
ckocjqey3#
所以我也遇到过类似的问题,解决方案实际上就在www.example.com上的文档中pub.dev。你需要在小部件树的顶部添加youtubeplayerbuilder,其他的东西,比如scaffold,都会从它的builder方法中返回。https://pub.dev/packages/youtube_player_flutterenter image description here
6yt4nkrj4#
如果使用
ListView.separated
,则可以全屏打开视频}
enter link description here
cotxawn75#
用于全屏支持
如果需要全屏支持,请使用
YoutubePlayerBuilder
Package 播放器