首页 > 解决方案 > Flutter 视频播放器网页在处理后仍然播放音频

问题描述

我使用 Fluttervideo_player包在原生平台(android、ios)和 web 上播放视频文件。在网络上,我遇到了一种情况,即使在视频暂停或视频控制器已被处置后,视频播放器仍继续播放音频。在 Chrome 和 Firefox 上也是如此。有谁知道如何解决它?

class VideoAsset extends StatefulWidget {
  final Uri url;
  final bool autoPlay;

  const VideoAsset({Key? key, required this.url, this.autoPlay = false}) : super(key: key);

  @override
  _VideoAssetState createState() => _VideoAssetState();
}

class _VideoAssetState extends State<VideoAsset> {
  late VideoPlayerController videoPlayerController;

  @override
  void initState() {
    videoPlayerController = VideoPlayerController.network(widget.url.toString());
    super.initState();
  }

  @override
  void dispose() {
    videoPlayerController.pause();
    videoPlayerController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
      future: videoPlayerController.initialize(),
      builder: (context, _) {
        final chewieController = ChewieController(
          videoPlayerController: videoPlayerController,
          autoPlay: autoPlay,
          looping: false,
          allowFullScreen: false,
          aspectRatio: 16 / 9,
          placeholder: Container(),
        );
        return AspectRatio(
          aspectRatio: 16 / 9,
          child: Chewie(controller: chewieController),
        );
      },
    );
  }
}

标签: flutter-webflutter-video-player

解决方案


推荐阅读