Android 如何将球员置于最佳位置
我试图将视频播放器放在屏幕的顶部,但它总是放在屏幕的中央,即使我也尝试使用容器 下面是我的dart文件,请检查并让我知道。对于播放器,我使用chuwie库作为控制器并播放网络URL。在丘伊图书馆内,他们使用视频播放器插件Android 如何将球员置于最佳位置,android,ios,flutter,Android,Ios,Flutter,我试图将视频播放器放在屏幕的顶部,但它总是放在屏幕的中央,即使我也尝试使用容器 下面是我的dart文件,请检查并让我知道。对于播放器,我使用chuwie库作为控制器并播放网络URL。在丘伊图书馆内,他们使用视频播放器插件 import 'package:chewie/chewie.dart'; import 'package:chewie/src/chewie_player.dart'; import 'package:flutter/cupertino.dart'; import 'packa
import 'package:chewie/chewie.dart';
import 'package:chewie/src/chewie_player.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:ottdemo_flutter/image_model.dart';
import 'package:video_player/video_player.dart';
class ChewieDemo extends StatefulWidget {
final Datum imageData;
ChewieDemo({ this.title = 'Player', Key key, @required this.imageData }): super(key:key);
final String title;
@override
State<StatefulWidget> createState() {
return _ChewieDemoState();
}
}
class _ChewieDemoState extends State<ChewieDemo> {
TargetPlatform _platform;
VideoPlayerController _videoPlayerController1;
VideoPlayerController _videoPlayerController2;
ChewieController _chewieController;
@override
void initState() {
super.initState();
print('url player :${widget.imageData.dataUrl}');
// 'https://www.sample-videos.com/video123/mp4/480/big_buck_bunny_480p_20mb.mp4'
_videoPlayerController1 = VideoPlayerController.network('${widget.imageData.dataUrl}');
_chewieController = ChewieController(
videoPlayerController: _videoPlayerController1,
aspectRatio: 3 / 2,
autoPlay: true,
looping: true,
// Tried playing around with some of these other options:
// showControls: false,
// materialProgressColors: ChewieProgressColors(
// playedColor: Colors.red,
// handleColor: Colors.blue,
// backgroundColor: Colors.grey,
// bufferedColor: Colors.lightGreen,
// ),
// placeholder: Container(
// color: Colors.grey,
// ),
// autoInitialize: true
);
}
@override
void dispose() {
_videoPlayerController1.dispose();
_videoPlayerController2.dispose();
_chewieController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: widget.title,
theme: ThemeData.light().copyWith(
platform: _platform ?? Theme.of(context).platform,
),
home: DefaultTabController(
length: 3,
child: Scaffold(
appBar: AppBar(
title: Text(widget.title),
bottom: TabBar(
tabs: [
Tab(icon: Icon(Icons.directions_car)),
Tab(icon: Icon(Icons.directions_transit)),
Tab(icon: Icon(Icons.directions_bike)),
],
),
),
body: SafeArea(
child: Column(
children: <Widget>[
Chewie(
controller: _chewieController,
),
TabBarView(
children: [
Icon(Icons.directions_car),
Icon(Icons.directions_transit),
Icon(Icons.directions_bike),
],
)
],
)
),
),
),
);
}}
import'包:chuie/chuie.dart';
导入“包:chuie/src/chuie_player.dart”;
进口“包装:颤振/cupertino.dart”;
进口“包装:颤振/材料.省道”;
导入“包:ottdemo_flatter/image_model.dart”;
导入“package:video_player/video_player.dart”;
类chuviedemo扩展了StatefulWidget{
最终基准影像数据;
ChewieDemo({this.title='Player',Key,@required this.imageData}):超级(Key:Key);
最后的字符串标题;
@凌驾
状态createState(){
返回_chuviedemostate();
}
}
类_ChewieDemoState扩展了状态{
目标平台(TargetPlatform);;
视频播放控制器\u视频播放控制器1;
视频播放控制器\u视频播放控制器2;
咀嚼控制器;
@凌驾
void initState(){
super.initState();
打印('url播放器:${widget.imageData.dataUrl}');
// 'https://www.sample-videos.com/video123/mp4/480/big_buck_bunny_480p_20mb.mp4'
_VideoPlayerController 1=VideoPlayerController.network(“${widget.imageData.dataUrl}”);
_咀嚼控制器=咀嚼控制器(
videoPlayerController:\u videoPlayerController 1,
方面:3/2,
自动播放:对,
循环:对,
//尝试使用以下其他一些选项:
//showControls:false,
//MaterialProgressColor:ChewieProgressColor(
//播放颜色:Colors.red,
//手颜色:颜色。蓝色,
//背景颜色:颜色。灰色,
//bufferedColor:Colors.lightGreen,
// ),
//占位符:容器(
//颜色:颜色。灰色,
// ),
//自动初始化:true
);
}
@凌驾
无效处置(){
_VideoPlayerController 1.dispose();
_VideoPlayerController 2.dispose();
_chouicontroller.dispose();
super.dispose();
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:widget.title,
主题:ThemeData.light().copyWith(
平台:_平台??主题(上下文)。平台,
),
主页:DefaultTabController(
长度:3,
孩子:脚手架(
appBar:appBar(
标题:文本(widget.title),
底部:选项卡栏(
选项卡:[
选项卡(图标:图标(图标方向车)),
选项卡(图标:图标(图标方向和交通)),
选项卡(图标:图标(图标方向)),
],
),
),
正文:安全区(
子:列(
儿童:[
丘伊(
控制器:_cheuicontroller,
),
塔巴视图(
儿童:[
图标(图标、方向和汽车),
图标(图标、方向和交通),
图标(图标、方向和自行车),
],
)
],
)
),
),
),
);
}}
既然你想让楚伊在上面,我假设你想在播放器下面添加额外的小部件
例如,您可以将Chuie嵌入列()
默认情况下,
Column()
已将其mainAxisAlignment
属性设置为mainAxisAlignment.start
,这意味着子项将从向下生长的屏幕上边缘开始
就这样,
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: <Widget>[
Chewie(
controller: _chewieController,
)
],
),
);
}
既然你想让楚伊在上面,我想你是想在播放器下面添加额外的小部件 例如,您可以将Chuie嵌入
列()
默认情况下,
Column()
已将其mainAxisAlignment
属性设置为mainAxisAlignment.start
,这意味着子项将从向下生长的屏幕上边缘开始
就这样,
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: <Widget>[
Chewie(
controller: _chewieController,
)
],
),
);
}
将
chuwie
包装在容器内
设置所需的高度
和宽度
将chuwie
包装在容器内
设置所需的高度
和宽度
什么是chuwie
?在你的代码里。?分享完整的代码。丘伊的游戏第三方库更新了我的问题您可以检查小部件以验证布局并与我们共享吗。我更新了我的代码什么是丘伊
?在你的代码里。?分享完整的代码。楚伊的第三方游戏库更新了我的问题你能检查一下小部件来验证布局吗?也许可以与我们分享。我更新了我的代码我更新了我的问题,我尝试了你所说的,但使用它不会显示玩家,只是我能听音频,但不能听视频。你是在什么平台上建的?安卓iOS?我正在使用androidI更新我的问题,我尝试了你所说的,但是通过使用它,它没有显示播放器,只是我能够听音频,但没有视频,你在哪个平台上构建它?安卓iOS?我在用android