如何控制使用 Flutter 上传的视频质量?

问题描述

在 Flutter 中,我正在处理一个上传高清视频的项目,然后用户应该能够像 You Tube 一样自定义视频质量。在 Flutter 中,我使用 flick_video_player,这是一个用来播放视频的 Flutter 库。 任何人都可以建议一种进行质量控制的方法,或者任何嵌入视频质量控制的库包?

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);
    }
}

以上是代码,我使用自定义控件来播放、暂停和跳过视频。 有人可以帮我解决这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)