1

I use Flutter video_player package for playing video files on native platforms (android, ios) and web. On web I've encountered a situation when video player keeps playing audio even after the video is paused or video controller has been disposed. Same on Chrome and Firefox. Does anyone know how to solve it?

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),
        );
      },
    );
  }
}
Martin Edlman
  • 665
  • 7
  • 15

0 Answers0