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