【问题标题】:How do i play a network video in flutter我如何在颤振中播放网络视频
【发布时间】:2020-12-30 04:43:36
【问题描述】:

我正在尝试将来自不同站点的网络视频放入 Flutter。

我使用了 video_player 包。我使用了一个未来的构建器,其中CircularProgressIndicator 将继续运行,直到加载视频。当我运行该应用程序时,在开始时 CircularProgressIndicator 继续运行,几秒钟后它停止,好像视频已加载但它在模拟器上显示完全空白。换句话说,视频没有加载。

启动应用程序后

加载后

这是代码

class MyHomePage extends StatefulWidget {
  @override
_MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  VideoPlayerController _controller;
  Future<void> _initializeVideoPlayerFuture;

  @override
  void initState() {
    _controller = VideoPlayerController.network(
        'https://ok.ru/videoembed/1616636152346');
    _initializeVideoPlayerFuture = _controller.initialize();
    _controller.setLooping(true);
    _controller.setVolume(1.0);
    super.initState();
  }


  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.blue,
      ),
      body: FutureBuilder(
        future: _initializeVideoPlayerFuture,
        builder: (context, snapshot){
          if(snapshot.connectionState == ConnectionState.done){
            return AspectRatio(
              aspectRatio: _controller.value.aspectRatio,
              child: VideoPlayer(_controller),
            );
          } else {
            return Center(
              child: CircularProgressIndicator(backgroundColor: Colors.blue,
              ),
            );
          }
        }
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: (){
          setState(() {
            if(_controller.value.isPlaying){
              _controller.pause();
            }else{
              _controller.play();
            }
          });
        },
        child: Icon(_controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
      ),
    ),
    );
  }
}

【问题讨论】:

标签: flutter dart flutter-video-player


【解决方案1】:

您的视频链接不是有效的视频链接,它是一个嵌入网址。

要从网络 URL 播放视频,请使用直接视频 URL,例如 https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4

将此链接放入您的 videoController 中,它会正常工作。

【讨论】:

    猜你喜欢
    • 2020-03-02
    • 1970-01-01
    • 2021-08-16
    • 2021-09-13
    • 2021-04-03
    • 2021-10-28
    • 1970-01-01
    • 2022-07-22
    • 2020-06-13
    相关资源
    最近更新 更多