flutter - 如何控制使用 Flutter 上传的视频质量?
问题描述
在 Flutter 中,我正在开发一个上传高清视频的项目,然后用户应该能够像 You Tube 一样自定义视频质量。在 Flutter 中,我使用flick_video_player,一个用于播放视频的颤振库。任何人都可以建议一种进行质量控制的方法,或者任何嵌入了视频质量控制的库包吗?
class CustomVideoPlayer extends StatefulWidget
{
CustomVideoPlayer(this.item);
final item;
createState()
{
return _CustomvideoPlayerState(this.item);
}
}
class _CustomvideoPlayerState extends State<CustomVideoPlayer>
{
_CustomvideoPlayerState(this.item);
final item;
VideoPlayerController _videoPlayerController;
FlickManager flickManager;
var url;
@override initState()
{
super.initState();
setState(()
{
SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
url = item["video_url"].toString();
SystemChrome.setEnabledSystemUIOverlays([]);
});
flickManager = FlickManager
(
videoPlayerController: VideoPlayerController.network(url),
);
}
@override
void dispose()
{
super.dispose();
_videoPlayerController.dispose();
flickManager.dispose();
}
Widget build(BuildContext context)
{
return WillPopScope
(
child: Scaffold
(
body: SafeArea
(
// top: true,
child: Column
(
children: <Widget>
[
Expanded
(
child: Center
(
child: FlickVideoPlayer
(
systemUIOverlay: [],
preferredDeviceOrientation: [DeviceOrientation.landscapeLeft],
flickManager: flickManager,
flickVideoWithControls: FlickVideoWithControls
(
controls: LandscapePlayerControls(item),
),
),
),
),
],
),
),
),
onWillPop: onWillPopS
);
}
// Handle back press
Future<bool> onWillPopS()
{
if(flickManager.flickVideoManager.isPlaying)
{
flickManager.flickControlManager.pause();
}
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
Navigator.pop(context);
return Future.value(true);
}
}
以上是代码,我使用自定义控件来播放、暂停和跳过视频。有人可以帮我吗?
解决方案
推荐阅读
- python - 结合不同周期频率的 Pandas 数据帧
- c# - 有人能解释一下我怎么能用这段代码调用 ridgedbody2d 吗?
- azure-devops - 探索托管代理上的文件系统
- spring - Spring Boot:如何根据输入组进行 REST 验证?
- amazon-web-services - 从 boto3 调用 AWS Glue Pythonshell 作业时出现参数错误
- javascript - 我需要创建一个函数,该函数返回由“名称”索引的纯 JavaScript 字符串,并包含所有“道具”
- azure-devops - 使用 Azure DevOps rest api 未提供拉取请求的评论列表
- android - 如何将背景颜色/图像设置为堆叠在另一个展开的小部件上方?或者有没有其他方法
- docker - 所有 docker 容器的默认时区
- java - Ubuntu 18.04 LTS 中的“错误:找不到文件”