使用video_player包播放视频时出现“无法在通道上建立连接”错误

4

我正在使用Flutter开发一个桌面应用程序,该应用程序应该在其中播放视频,因此我已经通过添加以下内容将video_player Flutter软件包到我的pubspec.yaml文件中:

dependencies:
  flutter:
    sdk: flutter
  
  video_player: ^2.1.1

以下代码用于构建小部件:
class _VideoPlayerScreenState extends State<VideoPlayerScreen> {
  VideoPlayerController _controller;
  Future<void> _initializeVideoPlayerFuture;

  @override
  void initState() {
    // Create an store the VideoPlayerController. The VideoPlayerController
    // offers several different constructors to play videos from assets, files,
    // or the internet.
    _controller = VideoPlayerController.asset("videos/media.mp4");

    _initializeVideoPlayerFuture = _controller.initialize();

    super.initState();
  }

  @override
  void dispose() {
    // Ensure disposing of the VideoPlayerController to free up resources.
    _controller.dispose();

    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      height: 450,
      width: 800,
      // Use a FutureBuilder to display a loading spinner while waiting for the
      // VideoPlayerController to finish initializing.
      child: FutureBuilder(
        future: _initializeVideoPlayerFuture,
        builder: (context, snapshot) {
          if (snapshot.connectionState == ConnectionState.done) {
            _controller.play();
            // If the VideoPlayerController has finished initialization, use
            // the data it provides to limit the aspect ratio of the video.
            return AspectRatio(
              aspectRatio: 16 / 9,
              // Use the VideoPlayer widget to display the video.
              child: VideoPlayer(_controller),
            );
          } else {
            // If the VideoPlayerController is still initializing, show a
            // loading spinner.
            return Center(child: CircularProgressIndicator());
          }
        },
      ),
      // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

然而,最终出现了以下错误:

[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)

我知道同样的问题已经在这里得到了回答,但那里的错误是由于不支持的 .mov 文件和使用较旧版本的软件包引起的,而这些情况在我的情况下都是正确的。


我遇到了同样的问题,只需在AndroidStudio中执行“无效缓存/重启”和“flutter clean”即可解决。 - nicover
1个回答

0

Flutter的video_player插件尚未支持桌面平台。您可以在GitHub问题线程上跟踪此功能请求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接